10
在我web.xml
OD我webapp
應用我有以下元素:如何修改網絡環境條目在GlassFish中4
<env-entry>
<env-entry-name>aMessage</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello World</env-entry-value>
</env-entry>
EJB在此Web應用程序可以讀取它:
final InitialContext context = new InitialContext();
final Context env = (Context) context.lookup("java:comp/env");
System.out.println("MSG: " + env.lookup("aMessage")); // prints Hello World
現在我試圖用asadmin
改變該值:
[email protected]:~/glassfish4/glassfish/bin$ ./asadmin set-web-env-entry --name=aMessage --value=test webapp
Previous env-entry setting of aMessage for application/module webapp was overridden.
Command set-web-env-entry executed successfully.
[email protected]:~/glassfish4/glassfish/bin$ ./asadmin list-web-env-entry webapp
Reported 1 env-entry setting
aMessage (java.lang.String) = test ignoreDescriptorItem=true //
Command list-web-env-entry executed successfully.
不幸的是,即使在重新啓用此webapp或重新啓動web服務器之後,我的EJB仍會打印舊值「Hello World」。
我也試過set-web-env-entry
的名字沒有在web.xml
中定義,也有--ignoredescriptoritem
參數,但沒有什麼幫助。歷數整個大環境還沒有顯示出額外的或改變網絡環境條目,但顯示他老以及許多其他對象都沒有涉及這個問題:
final NamingEnumeration<Binding> enu = env.listBindings("");
while (enu.hasMore()) {
final Binding binding = enu.next();
System.out.println(binding);
}
我做錯了嗎?
我沒有模塊,只有web應用程序。我試圖重新部署它,它也應該重新啓動它。 –
我已經更改了'的值'並且EJB會打印它。但我想通過'asadmin'訪問設置的值。 –
我也試過假。我試過所有組合。 –