Mikä mättää kun JMS client ei millään löydä tuota ConnectionFactorya. Serveri on JBoss 3.2.6.
String factoryJNDI = "ConnectionFactory";
Context context = new InitialContext();
TopicConnectionFactory topicFactory = (TopicConnectionFactory)context.lookup(factoryJNDI);
Tosta lookupista tulee aina, että ConnectionFactory not bound. Mitä konffaus xml fileja pitää muuttaa ja miten? Ymmärtääkseni toi ConnectionFactory on default, joten sen mukaan ei mitää tarttis muuttaa. Tosta ConnectionFactoryn konffaamisesta on huonosti infoa. Topic on laitettu ja se löytyy. jndi.properties filessa on seuraavat arvot(ymmärtääkseni oikeat). Ja yhtään beania ei ole, vain noi JMS Publisher ja Subscriber.
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
pitääkö tänä vielä lisätä joitain arvoja. Enää ei keksi mikä tässä oikein on vialla...
String factoryJNDI = "ConnectionFactory";
Context context = new InitialContext();
TopicConnectionFactory topicFactory = (TopicConnectionFactory)context.lookup(factoryJNDI);
Tosta lookupista tulee aina, että ConnectionFactory not bound. Mitä konffaus xml fileja pitää muuttaa ja miten? Ymmärtääkseni toi ConnectionFactory on default, joten sen mukaan ei mitää tarttis muuttaa. Tosta ConnectionFactoryn konffaamisesta on huonosti infoa. Topic on laitettu ja se löytyy. jndi.properties filessa on seuraavat arvot(ymmärtääkseni oikeat). Ja yhtään beania ei ole, vain noi JMS Publisher ja Subscriber.
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
pitääkö tänä vielä lisätä joitain arvoja. Enää ei keksi mikä tässä oikein on vialla...
Vastaukset 10
Vanhimmat
Sä taidat ajaa "all" konfiguraatiota.
Kokeile "default":a.
Kyllä se defaultin alla pyörii...
no ajatsä tota softaa samassa JVM:ssä kuin jboss:a?
Toi connection factory on määritetty seuraavassa deploy/jms/jms-ds.xml
siellä on jotain tyyliin:
java:/XAConnectionFactory
java:/XAConnectionFactory
java:/XAConnectionFactory
Näin on mulla. Toi topicFactoryRef taitaa olla se oikea. Pitääkö se olla toi XAConnectionFactory vai pelkkä ConnectionFactory?
joo kyl se mun käsittääkseni noin pitää olla. entä ajatsä tota sun jms clienttia samassa JVM:ssä kuin jbossia?
Deployaan deploy dirikassa war filen joka sisältää noi JMS hässäkät. Kyllä ne samassa pyörii.
olin väärässä aikaisemmin toi XAConnectionFactory onkin jbossin sisäisen muuttujan nimi.
Se jndi nimi määritetään joko jvm-il-service.xml tai sitten uil2-service.xml tiedostossa. En ole saletti kummassa.
Tsekkaa kohta
uil2-service.xml filessa mulla on
ConnectionFactory
the deprecated UIL deployment can be found in docs/examples/jca -->
UILConnectionFactory
ConnectionFactory
UILXAConnectionFactory
XAConnectionFactory
UIL2ConnectionFactory
ConnectionFactory
UIL2XAConnectionFactory
XAConnectionFactory
ja jvm-il-service.xml filessa
jboss.mq:service=Invoker
java:/ConnectionFactory
java:/XAConnectionFactory
0
just. No kun sulla on jboss käynnissä ja touch:aat vaikka tiedostoa jbossmq-service.xml niin tulostaako se sitä logia?
joo, tulostaa se jotain tällasta:
12:47:09,047 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
MBeans waiting for other MBeans:
ObjectName: jboss.ejb:persistencePolicy=database,service=EJBTimerService
state: FAILED
I Depend On: jboss.jca:name=DefaultDS,service=DataSourceBinding
Depends On Me: java.lang.IllegalStateException: Cannot find datasource meta data: jboss.jdbc:datasource=DefaultDS,service=metadata
ObjectName: jboss.mq:service=InvocationLayer,type=HTTP
state: CREATED
I Depend On: jboss.mq:service=Invoker
jboss.web:service=WebServer
Depends On Me:
ObjectName: jboss.mq.destination:name=myTopic,service=Topic
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
jboss.mq:service=SecurityManager
Depends On Me:
ObjectName: jboss.mq.destination:name=securedTopic,service=Topic
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
jboss.mq:service=SecurityManager
Depends On Me:
ObjectName: jboss.mq.destination:name=testDurableTopic,service=Topic
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
jboss.mq:service=SecurityManager
Depends On Me:
ObjectName: jboss.mq.destination:name=testQueue,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
jboss.mq:service=SecurityManager
Depends On Me:
ObjectName: jboss.mq.destination:name=A,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me:
ObjectName: jboss.mq.destination:name=B,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me:
ObjectName: jboss.mq.destination:name=C,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me:
ObjectName: jboss.mq.destination:name=D,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me:
ObjectName: jboss.mq.destination:name=ex,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me:
ObjectName: jboss.mq:service=DestinationManager
state: CREATED
I Depend On: jboss.mq:service=MessageCache
jboss.mq:service=PersistenceManager
jboss.mq:service=StateManager
Depends On Me: jboss.mq.destination:name=IPXTopic,service=Topic
jboss.mq.destination:name=securedTopic,service=Topic
jboss.mq.destination:name=testDurableTopic,service=Topic
jboss.mq.destination:name=testQueue,service=Queue
jboss.mq.destination:name=A,service=Queue
jboss.mq.destination:name=B,service=Queue
jboss.mq.destination:name=C,service=Queue
jboss.mq.destination:name=D,service=Queue
jboss.mq.destination:name=ex,service=Queue
jboss.mq:service=SecurityManager
jboss.mq.destination:name=DLQ,service=Queue
ObjectName: jboss.mq:service=PersistenceManager
state: FAILED
I Depend On: jboss.jca:name=DefaultDS,service=DataSourceBinding
Depends On Me: jboss.mq:service=DestinationManager
org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions. Message recovery may not be accurate; - nested throwable: (java.sql.SQLException: Syntax error or access violation, message from server: "You have an error in your SQL syntax near 'JMS_MESSAGES FROM JMS_MESSAGES, JMS_TRANSACTIONS WHERE JMS_MESSAGES.TXID = JMS_T' at line 1")
ObjectName: jboss.mq:service=InvocationLayer,type=UIL2
state: CREATED
I Depend On: jboss.mq:service=Invoker
Depends On Me:
ObjectName: jboss.mq:service=Invoker
state: CREATED
I Depend On: jboss.mq:service=TracingInterceptor
Depends On Me: jboss.mq:service=InvocationLayer,type=HTTP
jboss.mq:service=InvocationLayer,type=UIL2
ObjectName: jboss.mq:service=TracingInterceptor
state: CREATED
I Depend On: jboss.mq:service=SecurityManager
Depends On Me: jboss.mq:service=Invoker
ObjectName: jboss.mq:service=SecurityManager
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
Depends On Me: jboss.mq.destination:name=IPXTopic,service=Topic
jboss.mq.destination:name=securedTopic,service=Topic
jboss.mq.destination:name=testDurableTopic,service=Topic
jboss.mq.destination:name=testQueue,service=Queue
jboss.mq:service=TracingInterceptor
jboss.mq.destination:name=DLQ,service=Queue
ObjectName: jboss.mq.destination:name=DLQ,service=Queue
state: CREATED
I Depend On: jboss.mq:service=DestinationManager
jboss.mq:service=SecurityManager
Depends On Me:
MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
ObjectName: jboss.ejb:persistencePolicy=database,service=EJBTimerService
state: FAILED
I Depend On: jboss.jca:name=DefaultDS,service=DataSourceBinding
Depends On Me: java.lang.IllegalStateException: Cannot find datasource meta data: jboss.jdbc:datasource=DefaultDS,service=metadata
ObjectName: jboss.mq:service=PersistenceManager
state: FAILED
I Depend On: jboss.jca:name=DefaultDS,service=DataSourceBinding
Depends On Me: jboss.mq:service=DestinationManager
org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions. Message recovery may not be accurate; - nested throwable: (java.sql.SQLException: Syntax error or access violation, message from server: "You have an error in your SQL syntax near 'JMS_MESSAGES FROM JMS_MESSAGES, JMS_TRANSACTIONS WHERE JMS_MESSAGES.TXID = JMS_T' at line 1")