Hello,
I see that the problem SM-1171 BeanEndpoint can receive messages before it
has fully started, causing exceptions has been fixed in ServiceMix 3.2.2.
I have the same problem in my component endpoint. This problem seems not to
be fixed with 3.2.2 version.
See traces just after.
Do I need to modify my endpoint code to fix the problem ?
Thanks in advance,
Regards,
Nelly
Traces:
=======
03:41:45,618 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | .common.BaseServiceUnitManager 137 | Starting
service unit
>>>>> Start of the component
03:41:45,618 | DEBUG | RMI TCP Connection(4)-16.17.9.160 | PublisherEndpoint
| on.publisher.PublisherEndpoint 224 | start: Entering
03:41:45,619 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | icemix.common.DefaultComponent 79 | Querying
service description for
ServiceEndpoint[service={http://hp.com/temip/openmediation/http-demo/1.0-SNAPSHOT}publisher,endpoint=endpoint]
03:41:45,620 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | icemix.common.DefaultComponent 87 | No
description found for
{http://hp.com/temip/openmediation/http-demo/1.0-SNAPSHOT}publisher:endpoint
03:41:45,621 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | icemix.common.DefaultComponent 79 | Querying
service description for
ServiceEndpoint[service={http://hp.com/temip/openmediation/http-demo/1.0-SNAPSHOT}publisher,endpoint=endpoint]
03:41:45,621 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | icemix.common.DefaultComponent 87 | No
description found for
{http://hp.com/temip/openmediation/http-demo/1.0-SNAPSHOT}publisher:endpoint
>>>>> A first message is sent to early. Error in the DeliveryChannel:
03:41:45,729 | WARN | pool-flow.seda.notification-publisher-se-thread-1 |
DeliveryChannelImpl | .messaging.DeliveryChannelImpl 600 | Error
calling listener: null
java.lang.NullPointerException
at
org.apache.servicemix.jbi.monitoring.StatisticsService.onExchangeAccepted(StatisticsService.java:307)
at
org.apache.servicemix.jbi.monitoring.StatisticsService$3.exchangeAccepted(StatisticsService.java:186)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:598)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
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)
>>>> A second message is sent while the start of the component has not yet
>>>> finished:
03:41:45,730 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherComponent | emix.common.AsyncBaseLifeCycle 468 | Received
exchange: status: Active, role: provider
03:41:45,730 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherComponent | emix.common.AsyncBaseLifeCycle 536 | Retrieved
correlation id: ID:16.17.9.160-1192d68191b-12:3
03:41:45,731 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 74 |
processInOnly: Entering.
03:41:45,731 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 91 |
manageNotification: Entering.
03:41:45,731 | INFO | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 92 | Managing
message to sent to Notification Service
>>>>> The message is received by the endpoint, but the start has not yet
>>>>> finished.
>>>>> My marshaler is not yet initialized. I check it is not null to avoid a
>>>>> null pointer exception:
03:41:45,735 | WARN | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 102 | Marshaler
is not yet initialized. Message lost:InOnly[
id: ID:16.17.9.160-1192d68191b-11:12
status: Active
role: provider
service:
{http://hp.com/temip/openmediation/http-demo/1.0-SNAPSHOT}publisher
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?><temip:Alarms
xmlns:temip="http://hp.com/temip/openmediation/x733Alarm"
xmlns:tns="http://hp.com/temip/openmediation/examples/alarm/types"><temip:Alarm><temip:originatingManagedEntity>DeviceNewName
device_0</temip:originatingManagedEntity><temip:alarmRaisedTime>2008-03-08T03:41:45</temip:alarmRaisedTime><temip:perceivedSeverity>CRITICAL</temip:perceivedSeverity><temip:alarmType>COMMUNICATIONS_ALARM</temip:alarmType><temip:additionalText>Web
Service Alarm
0</temip:additionalText><temip:specificProblem>0</temip:specificProblem><temip:probableCause>0</temip:probableCause></temip:Alarm><temip:Alarm><temip:originatingManagedEntity>DeviceNewName
device_1 Slot
1</temip:originatingManagedEntity><temip:alarmRaisedTime>2008-03-08T03:41:45</temip:alarmRaisedTime><temip:perceivedSeverity>MAJOR</temip:perceivedSeverity><temip:alarmType>QUALITY_OF_SERVICE_ALARM</temip:alarmType><temip:additionalText>Web
Service Alarm
1</temip:additionalText><temip:specificProblem>0</temip:specificProblem><temip:probableCause>0</temip:probableCause></temip:Alarm><temip:Alarm><temip:originatingManagedEntity>DeviceNewName
device_2 Slot 1 Port
1</temip:originatingManagedEntity><temip:alarmRaisedTime>2008-03-08T03:41:45</temip:alarmRaisedTime><temip:perceivedSeverity>MINOR</temip:perceivedSeverity><temip:alarmType>PROCESSING_ERROR_ALARM</temip:alarmType><temip:additionalText>Web
Service Alarm
2</temip:additionalText><temip:specificProblem>0</temip:specificProblem><temip:pro...
]
03:41:45,736 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 132 |
manageNotification: Leaving.
03:41:45,736 | DEBUG | pool-flow.seda.notification-publisher-se-thread-1 |
PublisherEndpoint | on.publisher.PublisherEndpoint 76 |
processInOnly: Leaving.
03:41:45,755 | DEBUG | RMI TCP Connection(4)-16.17.9.160 | PublisherEndpoint
|
on.publisher.PublisherEndpoint 226 | start: After parent start.
03:41:45,875 | DEBUG | RMI TCP Connection(4)-16.17.9.160 | EntityModelCache
| mediation.msl.EntityModelCache 29 | EntityModelCache: Entering.
03:41:45,876 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
EntityClassModelHelper |
...
>>>>> Now the endpoint start is finished:
03:41:45,912 | DEBUG | RMI TCP Connection(4)-16.17.9.160 | PublisherEndpoint
| on.publisher.PublisherEndpoint 241 | start: Leaving.
03:41:45,913 | DEBUG | RMI TCP Connection(4)-16.17.9.160 |
PublisherComponent | .common.BaseServiceUnitManager 153 | Service
unit started
--
View this message in context:
http://www.nabble.com/With-ServiceMix-3.2.2%2C-my-BeanEndpoint-can-still-receive-messages-before-it-has-fully-started%2C-same-as-SM-1171.-tp17204292p17204292.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.