[JBoss/Spring Integration] - Spring LoadTimeWeaver not working in JBoss AS 5.0.1
by alen_ribic
I tried deploying my web application with the Load-time weaving support and Spring 2.5 on JBoss AS 5.0.1.
That attempt wasn't very sucessful even if giving the spring-agent a try. ("... -javaagent:spring-agent.jar")
I came across the following recent bug report though:
https://jira.jboss.org/jira/browse/JBSPRING-1?page=com.atlassian.jira.plu...
I tried the fix, provided by Ales Justin, in the bug report (See comment section) and now got the following error though:
java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:...
See below for more detailed exception stack trace:
| 16:31:02,502 ERROR [ContextLoader] Context initialization failed
| org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceLookup': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner be
| an)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transact
| ionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframe
| work.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C:/development/jboss-5.0.1.
| GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:407)
| at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)
| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
| at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:251)
| at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
| at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:312)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:144)
| at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
| at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
| at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
| at $Proxy36.start(Unknown Source)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
| at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
| at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
| at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
| at org.jboss.system.ServiceController.start(ServiceController.java:460)
| at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
| at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
| at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
| at org.jboss.Main.boot(Main.java:209)
| at org.jboss.Main$1.run(Main.java:547)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested excep
| tion is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined
| in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-c
| ontext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:229)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
| at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:87)
| at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:98)
| at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:84)
| at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66)
| at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:296)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:334)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1368)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
| ... 72 more
| Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defi
| ned in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/sprin
| g-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:274)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
| ... 91 more
| Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.Bea
| nCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA
| /server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:274)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268)
| ... 99 more
| Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C
| :/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1362)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268)
| ... 111 more
| Caused by: java.lang.IllegalStateException: Policy already has a classloader previous=BaseClassLoader@19519a1{vfsfile:/C:/development/jboss-5.0.1.GA-jdk6/jboss-5.0.1.GA/server/default/deploy/InspecApplication.ear/InspecWeb.war/}
| at org.jboss.classloader.spi.base.BaseClassLoaderPolicy.setClassLoader(BaseClassLoaderPolicy.java:311)
| at org.jboss.classloader.spi.base.BaseClassLoader.<init>(BaseClassLoader.java:104)
| at org.jboss.instrument.classloading.JBoss5ClassLoader.getThrowawayClassLoader(JBoss5ClassLoader.java:117)
| at org.jboss.instrument.classloading.JBoss5LoadTimeWeaver.getThrowawayClassLoader(JBoss5LoadTimeWeaver.java:130)
| at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getNewTempClassLoader(SpringPersistenceUnitInfo.java:87)
| at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:19)
| at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:312)
| at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
| at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:221)
| at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1390)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359)
| ... 120 more
|
Is there a way to get around this classloader policy issue by any chance?
Perhaps I can chage the policy somewhere to allow the LTW loader to successfully load?
Thanks in advance.
-Alen
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4231351#4231351
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4231351
17 years, 2 months
[Remoting] - JMS receiving connection dropped (ConnectionValidator), clie
by tomeicher
Hello,
we have an JBoss ESB 4.5.ga (jboss.org)
(also tried upgrading the remoting.jar to 2.5.1, to no effect)
and a standalone Application to act as a JMS client, using
jboss messaging client 1.1
jbos remoting 2.5.1
jboss aop jdk5 1.5.5ga
(other libraries copied over from ESB as needed)
to connect to the central ESB (same instance in all 5 cases I
explain below)
Now, starting up the client, everything looks fine, but after some time
(sometimes after a few minutes, usually about 10min), the client seems
to loose it's (receiving) connection. Worse, the client doesn't notice
this, and continues to "listen" for messages, that queue up at the ESB, but
are no longer received at the client.
Loss of connection:
| 2009-05-15 10:46:08,956 DEBUG Thread-54 org.jboss.remoting.ConnectionValidator - Thread[Thread-54,5,main] calling ConnectionState[zx3-zko0nquf-1-jmauqmuf-1f7h3-w3l3hs4].ConsolidatedListener.handleConnectionException()
| 2009-05-15 10:46:08,966 DEBUG Timer-4 org.jboss.remoting.ConnectionValidator - ConnectionValidator[d166b5:SocketClientInvoker[8a224d, bisocket://gerappxx.xxxxxxxx.xxxx.xxxxxxx.com:20098], pingPeriod=2000 ms] stopped, returning true
| 2009-05-15 10:46:08,966 DEBUG Timer-4 org.jboss.remoting.ConnectionValidator - org.jboss.remoting.ConnectionValidator$WaitOnConnectionCheckTimerTask@ba5cbf detected connection failure: stopping LeasePinger
| 2009-05-15 10:46:08,970 DEBUG Timer-4 org.jboss.remoting.LeasePinger - LeasePinger[SocketClientInvoker[70241a, bisocket://gerappxx.xxxxxxxx.xxxx.xxxxxxx.com:20098](3j001-dhemnd-fuqn2dqu-1-fuqn2fi9-6)] setting disconnect timeout to: -1
| 2009-05-15 10:46:08,979 DEBUG Timer-4 org.jboss.remoting.LeasePinger - LeasePinger[SocketClientInvoker[70241a, bisocket://gerappxx.xxxxxxxx.xxxx.xxxxxxr.com:20098](3j001-dhemnd-fuqn2dqu-1-fuqn2fi9-6)]: disconnectTimeout: -1
| 2009-05-15 10:46:08,982 DEBUG Timer-4 org.jboss.remoting.ConnectionValidator - ConnectionValidator[d166b5:SocketClientInvoker[8a224d, bisocket://gerappxx.xxxxxxxx.xxxx.xxxxxxr.com:20098], pingPeriod=2000 ms] shut down lease pinger
| 2009-05-15 10:46:08,982 DEBUG WorkerThread#0[172.17.129.140:20457] org.jboss.jms.server.remoting.ServerSocketWrapper - wrote CLOSING byte
| 2009-05-15 10:46:08,982 DEBUG WorkerThread#0[172.17.129.140:20457] org.jboss.remoting.transport.socket.ServerThread - WorkerThread#0[172.17.129.140:20457] closed socketWrapper: ServerSocketWrapper[Socket[addr=gerappxx.xxxxxxxx.xxxx.xxxxxxx.xxx/172.17.129.140,port=20457,localport=49313].3949e7]
| 2009-05-15 10:46:09,770 DEBUG Timer-3 org.jboss.remoting.ConnectionValidator - ConnectionValidator failed to ping via SocketClientInvoker[8a224d, bisocket://gerappxx.xxxxxxxx.xxxx.xxxxxxx.com:20098]
| java.lang.Exception
| at org.jboss.remoting.ConnectionValidator.doCheckConnectionWithLease(ConnectionValidator.java:654)
| at org.jboss.remoting.ConnectionValidator.run(ConnectionValidator.java:334)
| at java.util.TimerThread.mainLoop(Timer.java:512)
| at java.util.TimerThread.run(Timer.java:462)
| 2009-05-15 10:46:30,829 DEBUG JmsCommunicationServiceImpl-Receiver com.xxxxxxx.xx.xxxxxxx.xxx.JmsCommunicationServiceImpl - no message during timeout period. another turn...
|
And the listening client works like this:
| InitialContext ctx = new InitialContext(connectionProperties);
| queueOut = (Queue) ctx.lookup(queueNameOut);
| queueIn = (Queue) ctx.lookup(queueNameIn);
|
| QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup(connectionFactory);
| QueueConnection qc = qcf.createQueueConnection();
| qc.setClientID(Prefs.get("serverId"));
| ctx.close();
| qc.start();
| ...
| while (!terminate && queueConnection!=null)
| {
| try {
| QueueSession qsession = queueConnection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
| QueueReceiver qreceiver = qsession.createReceiver(queueIn);
| Message msg = null;
| try {
| msg = qreceiver.receive(60*1000);
| } catch (JMSException e) {
| log.error("waiting for message", e);
| }
|
| if (msg==null)
| {
| log.debug("no message during timeout period. another turn...");
| }
| else
| {
| log.info("received message #"+msg.getJMSMessageID());
| ...
| }
|
| qreceiver.close();
| qsession.close();
| }
| catch (Exception e)
| {
| log.error("trying to receive message(s)", e);
| log.info("trying to recover - re-initing JMS, then retrying receive");
| ...
| }
|
So the qreceiver.receive() is never notified, interrupted or similar with the
connection failure, but continues it's "futile receive". After the timeout, the
next call to qreceiver.receive() also "works" - but messages are no longer received.
So far, we could reproduce this problem on a Mac OS 10.5.6/Java 1.6.07 (final) and a
Mac OS 10.4.11/Java 1.6.0-dp-b88-34 (developer preview),
but NOT on the two other developer machines running Vista Ultimate SP1/Java 1.6.0.13-b03
and openSuSE 11.1/Java 1.6.0.13, all running identical code.
(But we're not yet convinced that it's an Apple specific problem... Lot's of you
JBoss guys also have Macs, so this surely wouldn't have been missed ;-)
I can reproduce, so if you want specific logging enabled, have suggestions for
config params ... go ahead.
Any input and feedback is greatly appreciated.
Thanks,
Tom.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4231338#4231338
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4231338
17 years, 2 months