]
Daniel Bevenius commented on JBESB-1960:
----------------------------------------
Another problem is that default value for load balancer cache timeout
is 60 seconds and CachingRegistryIntreceptor is 600 secods.
The load balancer cache
timeout, are you referring to the property
'org.jboss.soa.esb.registry.cache.life':
<properties name="core">
...
<property name="org.jboss.soa.esb.registry.cache.life"
value="60000"/>
</properties>
This property is not present by default configuration file but it is described in the
ProgrammersGuide, section "Clustering" on page 53. Perhaps the default value
should exist by default in jbossesb-properties.xml? Clients should be able to configure
their jbossesb-properties.xml to a lower value if required.
I'll update the docs to state:
"The list of interceptors that are applied to the configured registry. The codebase
currently provides two interceptors, one for handling InVM registration and a second for
applying a cache over the registry.
The default interceptor list consists of the InVM interceptor and the
CachingRegistryInterceptor described above."
Caching registry interceptor impacts must be documented and
configuration values updated
----------------------------------------------------------------------------------------
Key: JBESB-1960
URL:
https://jira.jboss.org/jira/browse/JBESB-1960
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Configuration, Documentation
Affects Versions: 4.4
Reporter: Jiri Pechanec
Assignee: Daniel Bevenius
Priority: Critical
Fix For: 4.4 CP1
If the CachingRegistryInterceptor is used in out-of-process binary - client or another
ESB it can cause serious headache.
The problem is that if the service is undeployed or EPRs changed then there are still old
values in the cache. So for example it reports it cannot connect to the queue that is not
already there etc.
Another problem is that default value for load balancer cache timeout is 60 seconds and
CachingRegistryIntreceptor is 600 secods. So if there is a service undeployed in the
cluster the load balancer will repeatedly receive stale EPRs.
See example of records in log
2008-08-27 09:39:42,785 DEBUG [main][org.jboss.internal.soa.esb.couriers.JmsCourier]
Error from JMS system.
javax.jms.JMSException: There is no administratively defined queue with
name:queue/banker_deploy_process_esb
at
org.jboss.jms.server.endpoint.ServerSessionEndpoint.createQueue(ServerSessionEndpoint.java:291)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$createQueue$aop(SessionAdvised.java:105)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised$createQueue_6431069199924553036.invokeNext(SessionAdvised$createQueue_6431069199924553036.java)
at
org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised$createQueue_6431069199924553036.invokeNext(SessionAdvised$createQueue_6431069199924553036.java)
at
org.jboss.jms.server.endpoint.advised.SessionAdvised.createQueue(SessionAdvised.java)
at
org.jboss.jms.wireformat.SessionCreateQueueRequest.serverInvoke(SessionCreateQueueRequest.java:74)
at
org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
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)
at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
at
org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientSessionDelegate$createQueue$aop(ClientSessionDelegate.java:297)
at
org.jboss.jms.client.delegate.ClientSessionDelegate$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.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$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.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$createQueue_6431069199924553036.invokeNext(ClientSessionDelegate$createQueue_6431069199924553036.java)
at
org.jboss.jms.client.delegate.ClientSessionDelegate.createQueue(ClientSessionDelegate.java)
at org.jboss.jms.client.JBossSession.createQueue(JBossSession.java:250)
at
org.jboss.internal.soa.esb.rosetta.pooling.JmsSession.createQueue(JmsSession.java:186)
at
org.jboss.internal.soa.esb.couriers.JmsCourier.createMessageProducer(JmsCourier.java:334)
at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:188)
at
org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.deliver(TwoWayCourierImpl.java:189)
at
org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:530)
at
org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:452)
at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:318)
at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:198)
at org.jboss.soa.esb.qa.framework.SendESBMessage.sendSync(SendESBMessage.java:103)
at
org.jboss.soa.esb.qa.framework.ESBTestServices.deployJBPMProcess(ESBTestServices.java:675)
at
org.jboss.soa.esb.samples.quickstart.jbpmrulesaction.BPMRulesActionHandlerTest.setupClass(BPMRulesActionHandlerTest.java:31)
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:585)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:394)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:79)
at
org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:165)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:103)
at org.testng.TestRunner.runWorkers(TestRunner.java:678)
at org.testng.TestRunner.privateRun(TestRunner.java:624)
at org.testng.TestRunner.run(TestRunner.java:495)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
at org.testng.SuiteRunner.run(SuiteRunner.java:190)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
at org.testng.TestNG.run(TestNG.java:699)
at org.testng.TestNG.privateMain(TestNG.java:824)
at org.testng.TestNG.main(TestNG.java:802)
2008-08-27 09:39:42,787 WARN [main][org.jboss.soa.esb.client.ServiceInvoker] Possible
configuration error while using Courier for EPR [JMSEpr [ PortReference <
<wsa:Address jms://127.0.0.1:1099/queue/banker_deploy_process_esb/>,
<wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties
jbossesb:java.naming.provider.url : 127.0.0.1:1099/>, <wsa:ReferenceProperties
jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>,
<wsa:ReferenceProperties jbossesb:destination-type : queue/>,
<wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
<wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
<wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties
jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties
jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type :
urn:jboss/esb/epr/type/jms/> > ]] and Service [test:jbpm-deploy] and Message
[header: [ To: JMSEpr [ PortReference < <wsa:Address
jms://127.0.0.1:1099/queue/banker_deploy_process_esb/>, <wsa:ReferenceProperties
jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>,
<wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>,
<wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs :
org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type :
queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
<wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
<wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties
jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties
jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type :
urn:jboss/esb/epr/type/jms/> > ] ReplyTo: JMSEpr [ PortReference <
<wsa:Address jms://localhost/queue/banker_deploy_process_esb_reply/>,
<wsa:ReferenceProperties jbossesb:java.naming.provider.url : 127.0.0.1:1099/>,
<wsa:ReferenceProperties jbossesb:java.naming.factory.initial :
org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties
jbossesb:java.naming.factory.url.pkgs : org.jnp.interfaces/>,
<wsa:ReferenceProperties jbossesb:destination-type : queue/>,
<wsa:ReferenceProperties jbossesb:specification-version : 1.1/>,
<wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
<wsa:ReferenceProperties jbossesb:message-selector :
jbossESBresponseUUID='5b468d68-faa0-47dd-86a5-aef5deaec823'/>,
<wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties
jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties
jbossesb:transacted : false/> > ] MessageID: 88e0c518-fadc-4546-b16f-599872258cee
]]. javax.jms.JMSException: There is no administratively defined queue with
name:queue/banker_deploy_process_esb
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: