[JBoss Messaging] - JBM exception
by TheOverlord
I'm using JBM 1.4.0.SP3_CP03 to send messages to a remote MDB.
I'm using a clustered queue.
After a sending many messages, JBM basically dies and starts spewing the following messages repeatedly:
|
| 2008-08-01 11:00:02,851 [ReusableThread] ERROR org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager - Failed to process notification
| org.jboss.jms.exception.MessagingJMSException: Failed to invoke
| at org.jboss.jms.client.delegate.DelegateSupport.handleThrowable(DelegateSupport.java:271)
| at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:205)
| at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
| at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientSessionDelegate$createConsumerDelegate$aop(ClientSessionDelegate.java:245)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_8721389917985689973.invokeNext(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
| at org.jboss.jms.client.container.StateCreationAspect.handleCreateConsumerDelegate(StateCreationAspect.java:142)
| at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect30.invoke(StateCreationAspect30.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_8721389917985689973.invokeNext(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
| at org.jboss.jms.client.container.ConsumerAspect.handleCreateConsumerDelegate(ConsumerAspect.java:73)
| at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect29.invoke(ConsumerAspect29.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_8721389917985689973.invokeNext(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
| at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
| at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_8721389917985689973.invokeNext(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
| at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
| at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_8721389917985689973.invokeNext(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate.createConsumerDelegate(ClientSessionDelegate.java)
| at org.jboss.messaging.core.impl.clusterconnection.MessageSucker.start(MessageSucker.java:126)
| at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.createSucker(ClusterConnectionManager.java:478)
| at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager.notify(ClusterConnectionManager.java:318)
| at org.jboss.messaging.core.impl.DefaultClusterNotifier.sendNotification(DefaultClusterNotifier.java:72)
| at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.addBindingInMemory(MessagingPostOffice.java:2427)
| at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.internalAddBinding(MessagingPostOffice.java:1868)
| at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.addBindingFromCluster(MessagingPostOffice.java:1035)
| at org.jboss.messaging.core.impl.postoffice.BindRequest.execute(BindRequest.java:55)
| at org.jboss.messaging.core.impl.postoffice.GroupMember$ControlRequestHandler.handle(GroupMember.java:606)
| at org.jgroups.blocks.MessageDispatcher.handle(MessageDispatcher.java:610)
| at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:654)
| at org.jgroups.blocks.RequestCorrelator.access$200(RequestCorrelator.java:40)
| at org.jgroups.blocks.RequestCorrelator$Request.run(RequestCorrelator.java:944)
| at org.jgroups.util.ReusableThread.run(ReusableThread.java:234)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.IllegalStateException: Cannot find object in dispatcher with id i-nueykcjf-1-fkmxkcjf-7pmlak-t36hs4
| at org.jboss.jms.wireformat.SessionCreateConsumerDelegateRequest.serverInvoke(SessionCreateConsumerDelegateRequest.java:97)
| at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:420)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
| at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
| at org.jboss.remoting.Client.invoke(Client.java:1634)
| at org.jboss.remoting.Client.invoke(Client.java:548)
| at org.jboss.remoting.Client.invoke(Client.java:536)
| at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
| ... 31 more
|
After it enters this state, it's useless and unrecoverable. It requires a total cluster restart of the AS.
On the MDB side (different physical machine), it's spewing this:
| INFO org.jboss.jms.client.FailoverCommandCenter - JBoss Messaging server failure detected - waiting for failover to complete...
| 2008-08-01 08:46:03,919 [Thread-273] WARN org.jboss.remoting.LeasePinger - LeasePinger[SocketClientInvoker[9fa2fb, bisocket://apr-s02:8527](4sh63s-mvdw0q-fjckz12o-1-fjcl06j5-5)] tried to remove lease for client with session ID 4sh63s-mvdw0q-fjckz12o-1-fjcyu0zf-5ob7, but no such lease was found
|
The key to this mystery is that it doesn't happen when I move the MDB into the same machines where the queue reside.
When I move the MDB external to the queues, that's when the problem occurs.
I've tried hundreds of different things to figure this out but it all fails after several hours of stress testing.
Any ideas what is going on?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168239#4168239
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168239
17 years, 8 months
[JBossMQ] - Using a non-JBoss remote JMS Provider in JBoss?
by jferraro@ihc.com
I am trying to configure access to a non-JBoss remote JMS Provider that I have to consume from JBoss. The JMS Provider is Weblogic and I am trying to subscribe to a JMS topic. On the JBoss side, I am using an EJB3 - MDB as the subscriber to the remote Weblogic topic. I am having difficulty configuring the Weblogic JMS Provider in JBoss. The JBoss configuration manual 7.4.3 Integrating non-JBoss JMS Providers is not very clear. I think my problem is around the ÃÂQueueFactoryRef definition as I am trying to subscribe to a topic. I have tried to follow the Websphere JMS Provider example to some extent but that does not seem to work. I get the following error message (below) at JBoss startup. Under the error message are my configuration scripts. Anyone have any ideas?
|
| adapter.jms.inflow.JmsActivationSpec(a)a50a00(ra=org.jboss.resource.adapter.jms.Jm
| sResourceAdapter@1fc7299 destination=foresight/ForeSightJMSTextReportsTopic isTo
| pic=true tx=true durable=false reconnect=10 provider=java:/ForeSightJMSProvider
| user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
| LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiNam
| e=queue/DLQ DLQUser=null DLQMaxResent=5)
| java.lang.ClassCastException: Object at 'foresight' in context {java.naming.fact
| ory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkg
| s=org.jboss.naming:org.jnp.interfaces:org.jboss.naming:org.jnp.interfaces} is no
| t an instance of [class=javax.jms.QueueConnectionFactory classloader=org.jboss.m
| x.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} interfaces={inter
| face=javax.jms.ConnectionFactory classloader=org.jboss.mx.loading.UnifiedClassLo
| ader3@11ff436{ url=null ,addedOrder=2}}] object class is [class=$Proxy13 classlo
| ader=org.jboss.mx.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} i
| nterfaces={interface=javax.naming.Context classloader=null}]
| at org.jboss.util.naming.Util.checkObject(Util.java:329)
| at org.jboss.util.naming.Util.lookup(Util.java:216)
|
|
|
| Configuration Scripts (Running jboss-4.2.2.GA)
| -------------------------------------------------
|
| jboss-service.xml
| ------------------------
| <mbean code="org.jboss.naming.ExternalContext"
| name="DefaultDomain:service=ExternalContext,jndiName=foresight">
| <attribute name="JndiName">foresight</attribute>
| <attribute name="Properties">
| java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
| java.naming.provider.url=t3://foresight-prod.co.ihc.com:7001
| java.naming.security.authentication=none
| </attribute>
| <attribute name="InitialContext">javax.naming.InitialContext</attribute>
| </mbean>
|
|
| jms-ds.xml
| ------------------------
|
| <connection-factories>
| <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
| name="jboss.mq:service=JMSProviderLoader,name=ForeSightJMSProvider">
| <attribute name="ProviderName">ForeSightJMSProvider</attribute>
| <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
| <attribute name="QueueFactoryRef">foresight</attribute>
| <attribute name="TopicFactoryRef">foresight</attribute>
| </mbean>
|
| <no-tx-connection-factory>
| <jndi-name>ForeSightJms</jndi-name>
| <rar-name>jms-ra.rar</rar-name>
| <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
| <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
| <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/ForeSightJMSProvider</config-property>
| <max-pool-size>20</max-pool-size>
| </no-tx-connection-factory>
| </connection-factories>
|
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168234#4168234
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168234
17 years, 8 months
[Installation, Configuration & DEPLOYMENT] - Configuring a non-JBoss JMS Provider (Weblogic) in JBoss?
by jferraro@ihc.com
I am trying to configure access to a non-JBoss remote JMS Provider that I have to consume from JBoss. The JMS Provider is Weblogic and I am trying to subscribe to a JMS topic. On the JBoss side, I am using an EJB3 - MDB as the subscriber to the remote Weblogic topic. I am having difficulty configuring the Weblogic JMS Provider in JBoss. The JBoss configuration manual 7.4.3 Integrating non-JBoss JMS Providers is not very clear. I think my problem is around the QueueFactoryRef definition as I am trying to subscribe to a topic. I have tried to follow the Websphere JMS Provider example to some extent but that does not seem to work. I get the following error message (below) at JBoss startup. Under the error message are my configuration scripts. Anyone have any ideas?
|
| Console Error Message
| -------------------------------
| adapter.jms.inflow.JmsActivationSpec(a)a50a00(ra=org.jboss.resource.adapter.jms.Jm
| sResourceAdapter@1fc7299 destination=foresight/ForeSightJMSTextReportsTopic isTo
| pic=true tx=true durable=false reconnect=10 provider=java:/ForeSightJMSProvider
| user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
| LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiNam
| e=queue/DLQ DLQUser=null DLQMaxResent=5)
| java.lang.ClassCastException: Object at 'foresight' in context {java.naming.fact
| ory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkg
| s=org.jboss.naming:org.jnp.interfaces:org.jboss.naming:org.jnp.interfaces} is no
| t an instance of [class=javax.jms.QueueConnectionFactory classloader=org.jboss.m
| x.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} interfaces={inter
| face=javax.jms.ConnectionFactory classloader=org.jboss.mx.loading.UnifiedClassLo
| ader3@11ff436{ url=null ,addedOrder=2}}] object class is [class=$Proxy13 classlo
| ader=org.jboss.mx.loading.UnifiedClassLoader3@11ff436{ url=null ,addedOrder=2} i
| nterfaces={interface=javax.naming.Context classloader=null}]
| at org.jboss.util.naming.Util.checkObject(Util.java:329)
| at org.jboss.util.naming.Util.lookup(Util.java:216)
|
|
|
|
| Configuration Scripts (Running jboss-4.2.2.GA)
| -------------------------------------------------
|
| jboss-service.xml
| ------------------------
| <mbean code="org.jboss.naming.ExternalContext"
| name="DefaultDomain:service=ExternalContext,jndiName=foresight">
| <attribute name="JndiName">foresight</attribute>
| <attribute name="Properties">
| java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
| java.naming.provider.url=t3://foresight-prod.co.ihc.com:7001
| java.naming.security.authentication=none
| </attribute>
| <attribute name="InitialContext">javax.naming.InitialContext</attribute>
| </mbean>
|
|
| jms-ds.xml
| ------------------------
|
| <connection-factories>
| <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
| name="jboss.mq:service=JMSProviderLoader,name=ForeSightJMSProvider">
| <attribute name="ProviderName">ForeSightJMSProvider</attribute>
| <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
| <attribute name="QueueFactoryRef">foresight</attribute>
| <attribute name="TopicFactoryRef">foresight</attribute>
| </mbean>
|
| <no-tx-connection-factory>
| <jndi-name>ForeSightJms</jndi-name>
| <rar-name>jms-ra.rar</rar-name>
| <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
| <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property>
| <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/ForeSightJMSProvider</config-property>
| <max-pool-size>20</max-pool-size>
| </no-tx-connection-factory>
| </connection-factories>
|
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168228#4168228
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168228
17 years, 8 months
[JBossWS] - Re: Web method memory leak?
by PeterJ
If you set the min and max heap sizes to different values, then when the JVM requires more heap space it will get it from the os, after which the JVM rarely lets go of that memory, even if the space required for those objects (the byte array in this case) is cleaned up during a garbage collection. Thus the behavior you are seeing in task manager does not indicate a memory leak - it is just how Java works.
To determine if a memory leak was taking place you would have to monitor the objects in the heap, either by monitoring the garbage collector (this lets you know if there is a possible leak but not where), or by using a tool like VisualVM which lets you take and compare heap dumps.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168220#4168220
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168220
17 years, 8 months