Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MessageDriven Bean Problem

2 views
Skip to first unread message

Szabolcs Rozsnyai

unread,
Jun 10, 2004, 5:02:04 AM6/10/04
to
Hallo!

Hab jetzt einen Logger Bean probiert zu deployen und bekomme folgende
Meldung vom JBoss

10:57:26,959 WARN [JMSContainerInvoker] Could not find the queue
destination-jndi-name=ejb/LogBean
10:57:26,979 WARN [JMSContainerInvoker] destination not found:
queue/LogBean reason: javax.naming.NameNotFoundException: LogBean not
bound
10:57:26,979 WARN [JMSContainerInvoker] creating a new temporary
destination: queue/LogBean

und gleich danach nochmal vom JBoss

10:57:27,059 ERROR [JMSContainerInvoker] Starting failed
javax.naming.NameNotFoundException: LogBean not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)
at org.jnp.server.NamingServer.getObject(NamingServer.java:509)
at org.jnp.server.NamingServer.lookup(NamingServer.java:282)
at org.jnp.server.NamingServer.lookup(NamingServer.java:256)
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch
(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages
(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer
(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall
(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup
(NamingContext.java:492)
at org.jnp.interfaces.NamingContext.lookup
(NamingContext.java:471)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.createDestination
(JMSContainerInvoker.java:874)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate
(JMSContainerInvoker.java:548)


meine jboss.xml
<message-driven>
<ejb-name>ejb/LogBean</ejb-name>
<destination-jndi-name>ejb/LogBean</destination-jndi-name>
</message-driven>

meine ejb-jar.xml
<message-driven >
<description><![CDATA[]]></description>

<ejb-name>ejb/LogBean</ejb-name>

<ejb-class>tf.at.szabolcs.stockserver.LogBean</ejb-class>

<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>

</message-driven>


Irgendwelche Ideen in welche Richtung der Fehler gehen könnte?

Danke und Grüße

Szabolcs

Rainer Hibbeln

unread,
Jun 10, 2004, 5:47:14 AM6/10/04
to
Hallo!

Die Einträge in der jboss.xml:


> <ejb-name>ejb/LogBean</ejb-name>
> <destination-jndi-name>ejb/LogBean</destination-jndi-name>

sollten unterschiedlich sein.
(Eine gute Wahl wäre in Deinem Fall:
<destination-jndi-name>queue/LogBean</destination-jndi-name>
Siehe Meldung:


> 10:57:26,979 WARN [JMSContainerInvoker] creating a new temporary
> destination: queue/LogBean

)

sg,
Rainer (Tutor)

Szabolcs Rozsnyai

unread,
Jun 10, 2004, 6:00:12 AM6/10/04
to

> Die Einträge in der jboss.xml:

>> <ejb-name>ejb/LogBean</ejb-name>
>> <destination-jndi-name>ejb/LogBean</destination-jndi-name>
> sollten unterschiedlich sein.
> (Eine gute Wahl wäre in Deinem Fall:

> <destination-jndi-name>queue/LogBean</destination-jndi-name>
> Siehe Meldung:
>> 10:57:26,979 WARN [JMSContainerInvoker] creating a new temporary
>> destination: queue/LogBean

danke für die Antwort ... habs auch schon geändert aber hat nicht geholfen!

Ich bekomme des weiteren noch folgende Meldung:

MBeans waiting for other MBeans:
[ObjectName: jboss.j2ee:jndiName=local/ejb/LogBean,service=EJB
state: FAILED
I Depend On:
Depends On Me: javax.naming.NameNotFoundException: LogBean not bound]

Was genau hat das zu bedeuten?

Grüße

Szabolcs

Rainer Hibbeln

unread,
Jun 10, 2004, 6:43:04 AM6/10/04
to
So wie ich das verstehe, findet er ejb/LogBean nicht.
Ich wĂĽrde mal versuchen, die Namen ein wenig zu variieren.
Vielleicht bringt ihm das LogBean in ejb/ und queue/ durcheinander.
Versuch mal, nur LogBean (statt ejb/LogBean) zu verwenden.

sg,
Rainer

Szabolcs Rozsnyai

unread,
Jun 10, 2004, 7:23:34 AM6/10/04
to

> So wie ich das verstehe, findet er ejb/LogBean nicht.

> Ich würde mal versuchen, die Namen ein wenig zu variieren.

> Vielleicht bringt ihm das LogBean in ejb/ und queue/ durcheinander.
> Versuch mal, nur LogBean (statt ejb/LogBean) zu verwenden.


hab ich auch schon probiert ... hilft leider nicht!

Grüße

Szabolcs

Rainer Hibbeln

unread,
Jun 10, 2004, 7:48:41 AM6/10/04
to
Glaub zwar nicht, dass es damit zusammenhängt, aber:
im deployment descriptor fehlt der Eintrag
<acknowledge-mode>.

Bitte poste auch immer, was nicht funktioniert. Ob neue Meldungen kommen,
andere verschwinden, etc.
mit: "hilft leider nicht" kann ich wenig anfangen.

sg,
Rainer

Szabolcs Rozsnyai

unread,
Jun 10, 2004, 9:38:43 AM6/10/04
to

> Bitte poste auch immer, was nicht funktioniert. Ob neue Meldungen
kommen,
> andere verschwinden, etc.
> mit: "hilft leider nicht" kann ich wenig anfangen.

Ich bekomme noch immer die gleichen Fehlermeldungen wie am Anfang!

15:36:14,903 WARN [JMSContainerInvoker] Could not find the queue
destination-jndi-name=queue/LogBean
15:36:15,664 WARN [JMSContainerInvoker] destination not found:

queue/LogBean reason: javax.naming.NameNotFoundException: LogBean not
bound

15:36:15,664 WARN [JMSContainerInvoker] creating a new temporary
destination: queue/LogBean
15:36:15,674 INFO [LogBean] Creating
15:36:15,674 INFO [LogBean] Created
15:36:15,674 INFO [LogBean] Starting
15:36:15,714 INFO [LogBean] Bound to JNDI name: queue/LogBean
15:36:15,714 INFO [LogBean] Started
15:36:16,385 ERROR [JMSContainerInvoker] Starting failed
javax.naming.NameNotFoundException: LogBean not bound

Nebenbei bermerkt verwende ich XDoclet und die Tags für mein Message-
Driven Bean schauen folgedermaßen aus - vielleicht habe ich ja was
vergessen?

/**
* @ejb.bean
* name="LogBean"
* transaction-type="Container"
* destination-type="javax.jms.Queue"
* acknowledge-mode="Auto-acknowledge"
*
* @jboss.destination-jndi-name queue/LogBean
*/

Die generierten Deployment descriptors schauen folgendermaßen aus:

jboss.xml:

<message-driven>
<ejb-name>LogBean</ejb-name>
<destination-jndi-name>queue/LogBean</destination-jndi-name>
</message-driven>

ejb-jar.xml:

<!-- Message Driven Beans -->


<message-driven >
<description><![CDATA[]]></description>

<ejb-name>LogBean</ejb-name>

<ejb-class>tf.at.szabolcs.stockserver.LogBean</ejb-class>

<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>


<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>

</message-driven>


Danke und Grüße

Szabolcs

Rainer Hibbeln

unread,
Jun 10, 2004, 11:52:22 AM6/10/04
to
Bei mir schaut das so aus:

* @ejb.bean acknowledge-mode="Auto-acknowledge"
* description="Bean for logging LogRecords"
* display-name="value"
* name="Log"
* transaction-type = "Container"
* destination-type = "javax.jms.Queue"
* @jboss.destination-jndi-name name = "queue/LogEJB"
*/
public class LogBean implements MessageDrivenBean, MessageListener

Starte einmal JBoss neu und schau, ob das OilService läuft. Wenn das nicht
hilft, weiss ich auch nicht weiter.

sg,
Rainer

Szabolcs Rozsnyai

unread,
Jun 10, 2004, 12:28:57 PM6/10/04
to
Rainer Hibbeln <r.hi...@dslab.tuwien.ac.at> wrote in
news:10868829...@news.aic.at:

> Bei mir schaut das so aus:
>
> * @ejb.bean acknowledge-mode="Auto-acknowledge"
> * description="Bean for logging LogRecords"
> * display-name="value"
> * name="Log"
> * transaction-type = "Container"
> * destination-type = "javax.jms.Queue"
> * @jboss.destination-jndi-name name = "queue/LogEJB"
> */
> public class LogBean implements MessageDrivenBean, MessageListener

Also ich weiß nicht genau was der Grund war aber jetzt sind die
Fehlermeldungen weg. Hab einfach mal deine XDoclet Tags genommen. Er
generiert eigentlich genau das gleiche wie meine.

Jetzt bekomme ich aber folgende Meldungen in regelmäßigen Abständen:

18:28:06,486 WARN [JMSContainerInvoker] JMS provider failure detected:
javax.jms.InvalidDestinationException: The destination QUEUE.LogEJB does
not exist !
at org.jboss.mq.server.ClientConsumer.addSubscription
(ClientConsumer.java:135)
at org.jboss.mq.server.JMSDestinationManager.subscribe
(JMSDestinationManager.java:611)
at org.jboss.mq.server.JMSServerInterceptorSupport.subscribe
(JMSServerInterceptorSupport.java:296)
at org.jboss.mq.security.ServerSecurityInterceptor.subscribe
(ServerSecurityInterceptor.java:150)
at org.jboss.mq.server.TracingInterceptor.subscribe
(TracingInterceptor.java:677)
at org.jboss.mq.server.JMSServerInvoker.subscribe
(JMSServerInvoker.java:298)
at org.jboss.mq.il.jvm.JVMServerIL.subscribe
(JVMServerIL.java:315)
at org.jboss.mq.Connection.addConsumer(Connection.java:1082)
at org.jboss.mq.SpyConnectionConsumer.<init>
(SpyConnectionConsumer.java:73)
at org.jboss.mq.SpyConnection.createConnectionConsumer
(SpyConnection.java:113)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate
(JMSContainerInvoker.java:562)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService
(JMSContainerInvoker.java:579)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker
$ExceptionListenerImpl.onException(JMSContainerInvoker.java:1079)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$1.run
(JMSContainerInvoker.java:591)
18:28:06,486 INFO [JMSContainerInvoker] Trying to reconnect to JMS
provider

> Starte einmal JBoss neu und schau, ob das OilService läuft. Wenn das
> nicht hilft, weiss ich auch nicht weiter.

Dieser Service läuft bei mir!
# service=InvocationLayer,type=OIL
# service=InvocationLayer,type=OIL2


Grüße

Szabolcs

PVS Staff

unread,
Jun 14, 2004, 2:21:10 AM6/14/04
to
On Thu, 10 Jun 2004, Szabolcs Rozsnyai wrote:

> [...]


> Jetzt bekomme ich aber folgende Meldungen in regelmäßigen Abständen:
>
> 18:28:06,486 WARN [JMSContainerInvoker] JMS provider failure detected:
> javax.jms.InvalidDestinationException: The destination QUEUE.LogEJB does
> not exist !

Hmm, ist die Queue in [1] deklariert? Das koennte auch der Grund fuer die
"creating a new temporary destination"-Meldungen sein.

Schoene Gruesse,
Benjamin A. Schmit


1. file://${JBOSS_HOME}/server/default/deploy/jms/jbossmq-destinations-service.xml

--
Seek freedom and become captive of your desires.
Seek discipline and find your liberty.
-- Frank Herbert, Dune Chronicles

Szabolcs Rozsnyai

unread,
Jun 14, 2004, 4:47:47 PM6/14/04
to
hab ganz vergessen zu sagen, dass ich das Problem gelöst habe.

Hab einfach in der jbossmq-destinations-service.xml einen 4zeiler
eingefügt:

<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=LogEJB">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager</depends>
</mbean>

Grüße

Szabolcs

0 new messages