You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Nickolay Martinov (JIRA)" <ji...@apache.org> on 2010/12/02 07:17:11 UTC
[jira] Updated: (SMXCOMP-824) REOPEN -Problem with CXF SE component
after stop and restart
[ https://issues.apache.org/jira/browse/SMXCOMP-824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nickolay Martinov updated SMXCOMP-824:
--------------------------------------
Attachment: servicemix-cxf-se-2009.02.fix.patch
Attached patch that fixes problem for me.
Problem itself is that init() calls deploy() is SU is not deployed, deploy() calls validate() and validate() performs actual resources initialization. Unfortunately validate() is never called after deployment is finished so resources are not reinitialized after they were released during stop(). Probably validate() isnt good place for resources initialization and start() should be used instead for these purposes. Patch adds check to start() if resources are initialized and calls validate() if they are not. This is dirty hack but it follows current design decisions (resources initialization in validate()).
> REOPEN -Problem with CXF SE component after stop and restart
> ------------------------------------------------------------
>
> Key: SMXCOMP-824
> URL: https://issues.apache.org/jira/browse/SMXCOMP-824
> Project: ServiceMix Components
> Issue Type: Bug
> Components: servicemix-cxf-se
> Affects Versions: 3.2.1
> Reporter: Nickolay Martinov
> Assignee: Freeman Fang
> Fix For: 3.2.2, servicemix-cxf-se-2008.01
>
> Attachments: servicemix-cxf-se-2009.02.debug.patch, servicemix-cxf-se-2009.02.fix.patch, servicemix-cxf-se-2009.02.reproduce.patch
>
>
> Hello,
> Using ServiceMix 3.2.2 I encounter a NullPointerException receiving requests on a CXF Se component after stopping and restarting this component.
> The problem can be seen using the wsdl-first sample.
> The same problem occurs after doing a shutdown and restart of the component.
> See traces below.
> Regards,
> Nelly
> Traces:
> ======
> >>>>>>> no problem at the beginning for the cxf-se:
> 11:28:19,167 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@ce4f39 dequeued exchange: InOut[
> id: ID:16.17.2.253-119e199379f-4:0
> status: Active
> role: provider
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> ]
> 11:28:19,177 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 468 | Received exchange: status: Active, role: provider
> 11:28:19,177 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 536 | Retrieved correlation id: ID:16.17.2.253-119e199379f-4:0
> 11:28:19,788 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send ID:16.17.2.253-119e199379f-4:0 in DeliveryChannel{servicemix-cxf-se}
> 11:28:19,788 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-1 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send
> 11:28:19,798 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@6bfafb dequeued exchange: InOut[
> id: ID:16.17.2.253-119e199379f-4:0
> status: Active
> role: consumer
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> out: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" type="msg:GetPersonResponse"><jbi:part><GetPersonResponse xmlns="http://servicemix.apache.org/samples/wsdl-first/types"><personId>world</personId><ssn>000-000-0000</ssn><name>Guillaume</name></GetPersonResponse></jbi:part></jbi:message>
> ]
> 11:28:19,818 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-2 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 710 | Notifying exchange ID:16.17.2.253-119e199379f-4:0(16ff34d) in DeliveryChannel{servicemix-cxf-bc} from processInboundSynchronousExchange
> 11:28:19,818 | DEBUG | btpool0-1 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 704 | Notified: ID:16.17.2.253-119e199379f-4:0(16ff34d) in DeliveryChannel{servicemix-cxf-bc} from sendSync
> 11:28:19,879 | DEBUG | btpool0-1 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send ID:16.17.2.253-119e199379f-4:0 in DeliveryChannel{servicemix-cxf-bc}
> 11:28:19,879 | DEBUG | btpool0-1 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send
> 11:28:19,889 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-3 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@815832 dequeued exchange: InOut[
> id: ID:16.17.2.253-119e199379f-4:0
> status: Done
> role: provider
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> out: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" type="msg:GetPersonResponse"><jbi:part><GetPersonResponse xmlns="http://servicemix.apache.org/samples/wsdl-first/types"><personId>world</personId><ssn>000-000-0000</ssn><name>Guillaume</name></GetPersonResponse></jbi:part></jbi:message>
> ]
> 11:28:19,889 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-3 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 468 | Received exchange: status: Done, role: provider
> 11:28:19,889 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-3 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 536 | Retrieved correlation id: ID:16.17.2.253-119e199379f-4:0
> 11:29:01,262 | DEBUG | RMI TCP Connection(4)-16.17.2.253 | AASAuthenticationService | impl.JAASAuthenticationService 50 | Authenticating 'smx' with 'smx'
> >>>>>> Stopping the wsdl-first-cxf-sa assembly:
> 11:29:23,276 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceAssemblyLifeCycle | ework.ServiceAssemblyLifeCycle 161 | Stopping service assembly: wsdl-first-cxf-sa
> 11:29:23,276 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 115 | Stopping service unit: wsdl-first-cxfse-su
> 11:29:23,286 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | .common.BaseServiceUnitManager 171 | Stopping service unit
> 11:29:23,286 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | JCAFlow | cemix.jbi.nmr.flow.jca.JCAFlow 398 | ServiceMix: broadcasting info for org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]]
> 11:29:23,296 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | JMSFlow | i.nmr.flow.jms.AbstractJMSFlow 378 | ServiceMix: broadcasting info for org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]]
> 11:29:23,296 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | .common.BaseServiceUnitManager 186 | Service unit stopped
> 11:29:23,476 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 115 | Stopping service unit: wsdl-first-cxfbc-su
> 11:29:23,476 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfBcComponent | .common.BaseServiceUnitManager 171 | Stopping service unit
> 11:29:23,476 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfBcComponent | .common.BaseServiceUnitManager 186 | Service unit stopped
> >>>>>> Starting the wsdl-first-cxf-sa assembly
> 11:29:34,053 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceAssemblyLifeCycle | ework.ServiceAssemblyLifeCycle 111 | Starting service assembly: wsdl-first-cxf-sa
> 11:29:34,063 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: wsdl-first-cxfse-su
> 11:29:34,063 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | .common.BaseServiceUnitManager 137 | Starting service unit
> 11:29:34,083 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | ComponentContextImpl | framework.ComponentContextImpl 124 | Component: servicemix-cxf-se activated endpoint: {http://servicemix.apache.org/samples/wsdl-first}PersonService : PersonImplPort
> 11:29:34,083 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | icemix.common.DefaultComponent 79 | Querying service description for ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]
> 11:29:34,093 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | WSDL1Processor | amework.support.WSDL1Processor 110 | Endpoint ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort] implements interface {http://servicemix.apache.org/samples/wsdl-first}Person
> 11:29:34,093 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | icemix.common.DefaultComponent 79 | Querying service description for ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]
> 11:29:34,093 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | WSDL2Processor | amework.support.WSDL2Processor 70 | Endpoint ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort] has a non WSDL2 service description
> 11:29:34,103 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | JCAFlow | cemix.jbi.nmr.flow.jca.JCAFlow 381 | ServiceMix: broadcasting info for org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]]
> 11:29:34,113 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | JMSFlow | i.nmr.flow.jms.AbstractJMSFlow 378 | ServiceMix: broadcasting info for org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={http://servicemix.apache.org/samples/wsdl-first}PersonService,endpoint=PersonImplPort]]
> 11:29:34,123 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | servicemix.cxfse.CxfSeEndpoint 279 | Unable to inject ComponentContext: org.apache.servicemix.samples.wsdl_first.PersonImpl.setContext(javax.jbi.component.ComponentContext)
> 11:29:34,123 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfSeComponent | .common.BaseServiceUnitManager 153 | Service unit started
> 11:29:34,133 | INFO | RMI TCP Connection(5)-16.17.2.253 | ServiceUnitLifeCycle | framework.ServiceUnitLifeCycle 97 | Starting service unit: wsdl-first-cxfbc-su
> 11:29:34,133 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfBcComponent | .common.BaseServiceUnitManager 137 | Starting service unit
> 11:29:34,133 | DEBUG | RMI TCP Connection(5)-16.17.2.253 | CxfBcComponent | .common.BaseServiceUnitManager 153 | Service unit started
> >>>>>> send request
> 11:29:40,182 | DEBUG | btpool0-2 | CxfBcComponent | emix.common.AsyncBaseLifeCycle 587 | Created correlation id: ID:16.17.2.253-119e199379f-4:1
> 11:29:40,192 | DEBUG | btpool0-2 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 458 | SendSync ID:16.17.2.253-119e199379f-4:1 in DeliveryChannel{servicemix-cxf-bc}
> 11:29:40,192 | DEBUG | btpool0-2 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send
> 11:29:40,202 | DEBUG | btpool0-2 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 693 | Waiting for exchange ID:16.17.2.253-119e199379f-4:1 (2f40f4) to be answered in DeliveryChannel{servicemix-cxf-bc} from sendSync
> 11:29:40,212 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@517b46 dequeued exchange: InOut[
> id: ID:16.17.2.253-119e199379f-4:1
> status: Active
> role: provider
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> ]
> 11:29:40,232 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 468 | Received exchange: status: Active, role: provider
> 11:29:40,232 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | CxfSeComponent | emix.common.AsyncBaseLifeCycle 536 | Retrieved correlation id: ID:16.17.2.253-119e199379f-4:1
> 11:29:40,282 | ERROR | pool-flow.seda.servicemix-cxf-se-thread-4 | CxfSeComponent | ervicemix.common.BaseLifeCycle 48 | Error processing exchange InOut[
> id: ID:16.17.2.253-119e199379f-4:1
> status: Active
> role: provider
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> ]
> java.lang.NullPointerException
> at org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:200)
> at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
> at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
> at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
> at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
> at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> 11:29:40,292 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 425 | Send ID:16.17.2.253-119e199379f-4:1 in DeliveryChannel{servicemix-cxf-se}
> 11:29:40,292 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | SedaFlow | emix.jbi.nmr.flow.AbstractFlow 118 | Called Flow send
> 11:29:40,302 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | SedaQueue | .jbi.nmr.flow.seda.SedaQueue$1 132 | org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@1110caf dequeued exchange: InOut[
> id: ID:16.17.2.253-119e199379f-4:1
> status: Error
> role: consumer
> interface: {http://servicemix.apache.org/samples/wsdl-first}Person
> service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
> endpoint: PersonImplPort
> operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://servicemix.apache.org/samples/wsdl-first" name="GetPersonRequest" type="msg:GetPersonRequest" version="1.0"><jbi:part><tns:GetPerson xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">
> <tns:personId xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types">world</tns:personId>
> </tns:GetPerson></jbi:part></jbi:message>
> error: java.lang.NullPointerException
> ]
> 11:29:40,312 | DEBUG | pool-flow.seda.servicemix-cxf-se-thread-4 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 710 | Notifying exchange ID:16.17.2.253-119e199379f-4:1(2f40f4) in DeliveryChannel{servicemix-cxf-bc} from processInboundSynchronousExchange
> 11:29:40,312 | DEBUG | btpool0-2 | DeliveryChannelImpl | .messaging.DeliveryChannelImpl 704 | Notified: ID:16.17.2.253-119e199379f-4:1(2f40f4) in DeliveryChannel{servicemix-cxf-bc} from sendSync
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.