Я не могу внедрить записи среды из приложения . xml, используя аннотацию @Resource
в моем приложении WebSphere 8.5.5. (Я не хочу перемещать запись до уровня компонента ejb-jar. xml.) Что мне не хватает?
приложение. xml:
<application
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
version="6">
<env-entry>
<env-entry-name>fileName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>theValue</env-entry-value>
</env-entry>
При этом I do см. "FileName", определенное как "theValue" в разделе консоли администратора WebSphere Записи среды для приложения . Пока я не могу понять, как получить к нему доступ из моего EJB.
StartupBean. java:
@Singleton
@Startup
public class StartupBean {
@Resource(name = "fileName")
private String fileName = "default";
fileName
всегда «по умолчанию», а не «theValue».
Я попытался выполнить поиск вручную, используя "java: comp" и "java: app" (как предложено this thread ), но оба бросили NamingException
Context ctx = new InitialContext();
fileName = (String) ctx.lookup("java:comp/env/fileName");
fileName = (String) ctx.lookup("java:app/env/fileName");