powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Начальная инициализация бина
8 сообщений из 8, страница 1 из 1
Начальная инициализация бина
    #36530446
WhiteWoolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени.
Может ли мне кто-то подсказать, существует ли механизм параметризации начальной инициализации атрибутов EJB компонента?
Т.е. при старте компонента, в конструкторе, или в каком-то стандартном методе (типа Init) происходит обращение к какому-то сравнительно стандартному файлу, в котором я мог бы разместить свои параметры.
Например, для сервлета я активно использую метод init:
Код: plaintext
1.
2.
3.
4.
5.
 public   void  init(ServletConfig config)  throws  ServletException {
		 super .init(config);
		String szDBStructFileName = config.getInitParameter( "DBStruct" );
		log.info( "Прочитан путь к файлу структуры базы." + szDBStructFileName );
	}
При этом сами значения я размещаю в файле web.xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  <servlet>
...
    <init-param>
        <param-name>DBStruct</param-name>
        <param-value>DBStruct.xml</param-value>
        </init-param>    
  </servlet>

Есть ли подобный механизм для Stateless/Statefull бинов?
Заранее спасибо.
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #36530475
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #36530718
WhiteWoolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Боюсь, я не совсем понял Ваш ответ.
Вероятно, давая ссылки на описание жизненного цикла бина, Вы предполагали указать мне на использование метода setSessionContext. Мне о нем известно. Однако этой информации мне не достаточно. Собственно, я потому и задал такой абстрактный вопрос, что не был уверен, через контекст ли следует работать.
Так вот, работая в EJB3, я пишу что-то вроде:
Код: plaintext
1.
2.
	@Resource
	SessionContext context;
... успешно получаю контекст и не могу извлечь из него, буквально, ни чего полезного. 2/3-их методов в статусе depricated, а остальные не позволяют мне оперировать собственными данными....

Короче, если можно несколько самых общих слов: куда можно чего-нибудь положить (непосредственно перед деплоем), и как это чего-нибудь от туда забрать в момент создания.
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #36530735
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WhiteWoolfКороче, если можно несколько самых общих слов: куда можно чего-нибудь положить (непосредственно перед деплоем), и как это чего-нибудь от туда забрать в момент создания.
Теперь вы уже сами путаетесь, то ли вам надо момент инициализации бина, то ли деплоя приложения.
Для инициализации вроде как ejbCreate() есть. А по ссылке можно выбрать другой этап жизненого цикла, если ejbCreate не подходит.
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #36530751
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каждом бине можно описать Environment Entity
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        <session>
            <ejb-name>OrderAgentBean</ejb-name>
            <env-entry>
                <env-entry-name>minOrderTotal</env-entry-name>
                <env-entry-type>java.lang.Integer</env-entry-type>
                <env-entry-value> 200 </env-entry-value>
            </env-entry>
        </session>
Достаються эти значения потом из JNDI. Или через аннотации @Resource (в EJB 3.0).
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #36530982
WhiteWoolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vas0 :Вот! То что надо! Спасибо большое. Дальше раскопаю.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Начальная инициализация бина
    #38720131
ga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если сделать экземпляра бина у которых env-entry называются одинакового и задать им разные значения. Вот к примеру у меня такой ejb-jar:


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
<?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"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version="3.0">
	<enterprise-beans>
		<message-driven>
			<ejb-name>PBXE1</ejb-name>
			<ejb-class>org.test.PBX</ejb-class>
			<activation-config>
				<activation-config-property>
					<activation-config-property-name>destination</activation-config-property-name>
					<activation-config-property-value>queues.test.PBX1</activation-config-property-value>
				</activation-config-property>
				<activation-config-property>
					<activation-config-property-name>destinationType</activation-config-property-name>
					<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
				</activation-config-property>
				<activation-config-property>
					<activation-config-property-name>acknowledgeMode</activation-config-property-name>
					<activation-config-property-value>Auto-acknowledge</activation-config-property-value>
				</activation-config-property>
			</activation-config>
			<env-entry>
				<env-entry-name>host</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>127.0.0.1</env-entry-value>
			</env-entry>
			<env-entry>
				<env-entry-name>port</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>22</env-entry-value>
			</env-entry>			
			<env-entry>
				<env-entry-name>login</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>user</env-entry-value>
			</env-entry>
			<env-entry>
				<env-entry-name>password</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>pass</env-entry-value>
			</env-entry>
		</message-driven>
		
		<message-driven>
			<ejb-name>PBXE2</ejb-name>
			<ejb-class>org.test.PBX</ejb-class>
			<activation-config>
				<activation-config-property>
					<activation-config-property-name>destination</activation-config-property-name>
					<activation-config-property-value>queues.test.PBX2</activation-config-property-value>
				</activation-config-property>
				<activation-config-property>
					<activation-config-property-name>destinationType</activation-config-property-name>
					<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
				</activation-config-property>
				<activation-config-property>
					<activation-config-property-name>acknowledgeMode</activation-config-property-name>
					<activation-config-property-value>Auto-acknowledge</activation-config-property-value>
				</activation-config-property>
			</activation-config>
			<env-entry>
				<env-entry-name>host</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>127.0.0.2</env-entry-value>
			</env-entry>
			<env-entry>
				<env-entry-name>port</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>22</env-entry-value>
			</env-entry>			
			<env-entry>
				<env-entry-name>login</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>user</env-entry-value>
			</env-entry>
			<env-entry>
				<env-entry-name>password</env-entry-name>
				<env-entry-type>java.lang.String</env-entry-type>
				<env-entry-value>pass</env-entry-value>
			</env-entry>
		</message-driven>
		
		
	</enterprise-beans>
</ejb-jar>



Т.е. один бин и два экземпляра которые слушают разные очереди. Но параметры каждому экземпляру я хочу передать свои. У меня wildfly-8.1.0.CR1 и в нём что то не работает такой дескриптор. Без <env-entry> указанных дважды - работает. А так нет. Это недоразумение в wildfly или у меня в голове ?)
...
Рейтинг: 0 / 0
Начальная инициализация бина
    #38723274
ga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем я выяснил в чём дело, кому интересно прочитать можно тут https://community.jboss.org/thread/243690
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Начальная инициализация бина
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]