2010-01-08 2 views
0

Я пытаюсь загрузить конфигурацию среды bean runtime.Использование @Resource для загрузки записей об окружающей среде

@Stateless 
public class MyBean implements MyLocal{  
    @Resource String runtimeSetting1="default_value"; 
    //.... 
} 

я не могу узнать, как создать пользовательский ресурс на стороне сервера приложений (Glassfish) - Я понятия не имею, что я должен войти в поле «Фабрика класса». Возможно, существует лучший способ загрузки конфигурации ...

Спасибо.

ответ

3

Насколько я знаю, стандартным способом в Java EE является объявление env-entry для данных конфигурации. Это относится ко всем компонентам Java EE, как EJB 3 класса бина, сервлет, фильтры, перехватчики, классы слушателей и т.д. Здесь, объявить что-то подобное в вашем ejb-jar.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 
    <enterprise-beans> 
    <session> 
     <ejb-name>FooBean</ejb-name> 
     <env-entry> 
     <description>foobar entry</description> 
     <env-entry-name>foo</env-entry-name> 
     <env-entry-type>java.lang.String</env-entry-type> 
     <env-entry-value>bar</env-entry-value> 
     </env-entry> 
     ... 
    </session> 
    ... 
    </enterprise-beans> 
    .... 
</ejb-jar> 

Тогда посмотрите окр-запись с JNDI или ввести его по имени. Например, чтобы ввести его в фасоль:

@Resource(name="foo") 
private String myProperty; 
Смежные вопросы