|
From: Martin S. <ebx...@sc...> - 2005-03-03 10:52:32
|
Hello all,
I have the following issue overhere in good old Europe:
When I tried out Hermes not with Loopback, but with two separate Instances, the
receiving instance was not able to respond with Acknowledgements. The first
warning in the Hermes log gave me a good hint for the reason:
2005-03-03 11:14:41,222 WARN [http-8080-Processor4]: [10014] Unknown
destination - Cannot resolve outgoing URL to send
As I did not use URLs for FromPartyId and ToPartyId, the default
ToUrlResolverImpl could not resolve the PartyId to a legal URL...
However, what I want to report, is, that whenever the receiving host was not
able to resolve the partyId to an uri in order to send an acknowledgement, I got
the following Exceptions later in the Hermes log:
Exception: java.sql.SQLException
Message: Violation of unique index in statement [INSERT INTO
SendingState(c_messageid,c_currentretry,c_nextretrytime) VALUES
('20050303-101441082-CPA_2002.urn:oasis:names:tc:ebxml-msg:service.Acknowledgment.2@10.0.10.2',0,'1109844881352')]
The reason for me seems to be, that the (reliably) sending host tried to resend
the original message (as it did not receive an ack. so far). The receiving host
seems to correctly recognize, that the message already has been received before,
but it seems to try to insert the same acknowledgement again into the
SendingState table...
Is this a known issue? Any comments?
Martin.
PS: It looks like this in the log of the receiving MSH:
...
2005-03-03 11:14:41,322 DEBUG [http-8080-Processor4]: => MessageServer.hasReceived
2005-03-03 11:14:41,322 DEBUG [http-8080-Processor4]: =>
DbConnectionPool.getConnection
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: <=
DbConnectionPool.getConnection
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: <= MessageServer.hasReceived
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: message has an AckReq
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: => MessageServer.hasReceived
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: <= MessageServer.hasReceived
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: message has been received
previously
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: => MessageServer.MessageServer
2005-03-03 11:14:41,332 DEBUG [http-8080-Processor4]: =>
MessageServer.getMessageFromDataSource
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: => MessageServer.resend
2005-03-03 11:14:41,352 WARN [http-8080-Processor4]: [10311] Cannot write
record to DB
Exception: java.sql.SQLException
Message: Violation of unique index in statement [INSERT INTO
SendingState(c_messageid,c_currentretry,c_nextretrytime) VALUES
('20050303-101441082-CPA_2002.urn:oasis:names:tc:ebxml-msg:service.Acknowledgment.2@10.0.10.2',0,'1109844881352')]
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: retry message dispatching
failed
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: => Transaction.rollback
(txID: #67)
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: =>
DbConnectionPool.freeConnection
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: <=
DbConnectionPool.freeConnection
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: <= Transaction.rollback
2005-03-03 11:14:41,352 ERROR [http-8080-Processor4]: [10002] Unknown error
Exception: hk.hku.cecid.phoenix.message.handler.MessageServiceHandlerException
Message: [10311] Cannot write record to DB
Exception: java.sql.SQLException
Message: Violation of unique index in statement [INSERT INTO
SendingState(c_messageid,c_currentretry,c_nextretrytime) VALUES
('20050303-101441082-CPA_2002.urn:oasis:names:tc:ebxml-msg:service.Acknowledgment.2@10.0.10.2',0,'1109844881352')]
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: => Transaction.rollback
(txID: #66)
2005-03-03 11:14:41,352 DEBUG [http-8080-Processor4]: <= Transaction.rollback
...
|