Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss + JMS / 10 сообщений из 10, страница 1 из 1
19.12.2011, 22:23:44
    #37584017
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Здравствуйте! Начал изучать JMS. Пытаюсь задеплоить EJB-модуль, пример из документации по Java EE 1.4, который содержит MDB. Использую NetBeans 7.0.1 + JBoss AS 6.1.0 (или 5.1.0.GA). Код самого бина взял из примера. Проблемы с дескриптором jboss.xml. При деплое выдает ошибку (как с JBoss 6, так и с JBoss 5):
21:43:56,103 ERROR [AbstractKernelController] Error installing to Start: name=jboss.j2ee:binding=message-driven-bean,jndiName=local/SimpleMessage2@1589652658,plugin=invoker,service=EJB state=Create mode=Manual requiredState=Installed
org.jboss.deployment.DeploymentException: The message-destination 'TestQueue' has no jndi-name in jboss.xml

jboss.xml (создается автоматически NetBeans'ом)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
  <enterprise-beans>
    <message-driven>
      <ejb-name>SimpleMessage2</ejb-name>
      <destination-jndi-name>queue/TestQueue</destination-jndi-name>
    </message-driven>
  </enterprise-beans>
</jboss>



ejb-jar.xml (создается автоматически NetBeans'ом)
Код: java
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.
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
  <enterprise-beans>
        <message-driven>
            <display-name>SimpleMessage2MDB</display-name>
            <ejb-name>SimpleMessage2</ejb-name>
            <ejb-class>beans.SimpleMessage2</ejb-class>
            <transaction-type>Container</transaction-type>
            <message-destination-type>javax.jms.Queue</message-destination-type>
            <message-destination-link>TestQueue</message-destination-link>
            <activation-config>
                <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-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>
        </message-driven>
        </enterprise-beans>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>SimpleMessage2</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        <message-destination>
            <display-name>Destination for SimpleMessage2MDB</display-name>
            <message-destination-name>TestQueue</message-destination-name>
        </message-destination>
        </assembly-descriptor>
    </ejb-jar>



В случае с JBoss 5 прописываю в server\default\deploy\messaging\destinations-service.xml:
Код: java
1.
2.
3.
4.
5.
6.
<mbean code="org.jboss.jms.server.destination.QueueService"
      name="jboss.messaging.destination:service=Queue,name=TestQueue"
      xmbean-dd="xmdesc/Queue-xmbean.xml">
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
      <depends>jboss.messaging:service=PostOffice</depends>
</mbean>



В случае с JBoss 6 прописываю в server\default\deploy\hornetq\hornetq-jms.xml:
Код: java
1.
2.
3.
<queue name="TestQueue">
      <entry name="/queue/TestQueue"/>
</queue>



В JBoss 6 через JMXConsole проверял, JNDI queue -> TestQueue создается.

Воспользовался описанным здесь способом http://stackoverflow.com/questions/5405409/what-could-be-the-problem-of-a-queue-that-does-not-have-a-jndi-name-in-jboss-xml не помогло ((.

PS: И еще вопрос, почему в NetBeans при создании бина не видит javax.jms, если в кач-ве сервера приложений выбран JBoss6 ( http://community.jboss.org/thread/162249). Если же создать проект с JBoss5, то не жалуется.
...
Рейтинг: 0 / 0
19.12.2011, 22:58:44
    #37584052
eros2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
А в чём смысл использования J2EE 1.4? Почему не Java EE 5/6? Там же реально проще всё. И XML-я никакого не надо.
...
Рейтинг: 0 / 0
19.12.2011, 23:04:18
    #37584056
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
В целях обучения делаю проект. В нем кроме MDB есть BMP бины, поэтому JavaEE 1.4.
...
Рейтинг: 0 / 0
20.12.2011, 08:57:27
    #37584317
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Добрый день, ArthaZz!

> jboss.xml (создается автоматически NetBeans'ом)

Ты учишься автосозданию нетбинсом? :)
Код: sql
1.
>       <destination-jndi-name>queue/TestQueue</destination-jndi-name>


Мне думается (я EJB2 не пробовал) что правильнее так:
Код: sql
1.
       <destination-jndi-name>/queue/TestQueue</destination-jndi-name>



PS: а кто учит JEE1.4? Институт археологии? Или Неткрекер? :)


--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.12.2011, 10:46:43
    #37584467
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Почему такое негативное отношения к Java EE 1.4. Вы думаете её стоит забыть как страшный сон? ))
Ну а насчет:
GKS_SamaraМне думается (я EJB2 не пробовал) что правильнее так:
Код: sql
1.
       <destination-jndi-name>/queue/TestQueue</destination-jndi-name>




Не помогло - вываливается все с тем же Exception'ом.
...
Рейтинг: 0 / 0
20.12.2011, 11:53:55
    #37584588
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Добрый день, ArthaZz!
> Почему такое негативное отношения к Java EE 1.4. Вы думаете её стоит
> забыть как страшный сон? ))

Да. Очень неудачная организация всего.

> Не помогло - вываливается все с тем же Exception'ом.

Я посмотрел- у меня (с учётом того, что записано в аннотации, т.к.
JavaEE6) то же самое. Может правда не внимательно смотрел- до буковки не
сверял.

Просто приведу как работает в 6.1.0- может найдёте ошибку сравнением.

hornetq-jms.xml:
Код: sql
1.
2.
3.
4.
   <queue name="TDO-sync.in">
      <entry name="/queue/TDO-sync.in"/>
      <durable>true</durable>
   </queue>



В java-классе:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
@MessageDriven(activationConfig =  {
    @ActivationConfigProperty(propertyName = "destination"    ,
propertyValue = "/queue/TDO-sync.in"),
    @ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
    @ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
})



Остальное там не нужно :)

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.12.2011, 21:04:23
    #37585795
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
По всякому пробовал. JBoss не поддается. Зато удалось реализовать удаленного клиента для MDB EJB 3 + Jboss 6 и для MDB EJB 2 + Glassfish 3. Даже если посмотреть документацию JBoss http://docs.jboss.org/jbossas/getting_started/v5/html/mdb.html, jboss.xml у меня прописан правильно.
...
Рейтинг: 0 / 0
23.12.2011, 19:52:29
    #37591443
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Проблема решена.
...
Рейтинг: 0 / 0
26.12.2011, 09:54:57
    #37593039
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Добрый день, ArthaZz!

> Проблема решена.

И как?

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.02.2012, 01:58:13
    #37645023
ArthaZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JBoss + JMS
Неоюходимо убрать из ejb-jar.xml (см. выше) следующие строки:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
...
<message-destination-link>TestQueue</message-destination-link>
...
<message-destination>
            <display-name>Destination for SimpleMessage2MDB</display-name>
            <message-destination-name>TestQueue</message-destination-name>
</message-destination>
...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss + JMS / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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