Hi Team
I Have a main
thread which will poll the messages from the Queue
and create a child thread to process it .The requirement is Both the parent and the child should be in one transaction
unit.
Here is my application config.
Code for M1GenericConnector
Code For ConnectorTask
public class QueueUtility {
private JmsTemplate jmsTemplate;
public JmsTemplate getJmsTemplate() {
return jmsTemplate;
}
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
this.jmsTemplate.setReceiveTimeout(1500);
}
public Message retrive(final
String destinationName){
return jmsTemplate.receive(destinationName);
}
public void sendMessage(final String destinationName ,final String message){
jmsTemplate.convertAndSend(destinationName, message);
}
public void sendMessage(final String destinationName ,final Map<String,Object> message){
jmsTemplate.send(destinationName, new MessageCreator() {
@Override
public Message createMessage(Session arg0) throws JMSException {
// TODO Auto-generated method stub
MapMessage mapmessage = arg0.createMapMessage();
for (Map.Entry<String, Object> entry : message.entrySet()) {
mapmessage.setObjectProperty(entry.getKey(), entry.getValue());
}
return mapmessage;
}
});
}
}
[/CODE]
Code for M1OperatorLoader
But the Poblem is in the Queue there were 5 messages each messages DEST_ID value is 0 ,1,2,3 respectively.So according to the program two messages should be rollback and remain should poll off from queue(commited)
But when i run this program no message get off from the in bound queue....
Please help me out what is the actual problem in my code
