Hi JB,
I have constructed a karaf cluster in 2 linux server.(used karaf 2.3.3,
cellor 2.3.2 and spring-dm)
A client bundle was deployed in node1 in server1 and a service bundle was
deployed in node2 in server2
Client bundle will invoke service bundle via osgi service 10 times one
minute.
But when I stop and restart the service bundle, I found there is one
request from client bundle will be miss processed by service bundle. After
my check, I am sure this issue is caused by stopping service bundle. And
just only one request will be miss processed.
According to OSGi features, hot deployment is a well-known feature. So I
think this is bug.
below is the my code segments, maybe very useful for you analysis.
Route in client bundle as below:
<from
uri="timer://myTimer?repeatCount=200&fixedRate=true&period=100" />
<--IdOsgiTestProcessor just used to created message body, you can think is
increased number-->
<to id="osgiTestProcessor" uri="osgiTestProcessor"/>
<--processorService is a osgi service implemented in service bundle-->
<bean ref="processorService" method="processTest(${body})"/>
<--logProcessor is just used to log the returned value from service
bundle-->
<to id="IdLogProcessor" uri="logProcessor"/>
</route>
processorService's implemention code in service bundle as below
public Integer processTest(Integer message) throws Exception {
LOG.info("message: " + message);
return 0;
}
I have tested many times. There is only one request will be missed in the
period of restart service bundle.
Please confirm.
--
View this message in context:
http://karaf.922171.n3.nabble.com/Bug-missing-request-when-restart-service-bundle-tp4031974.html
Sent from the Karaf - User mailing list archive at Nabble.com.