recieving JMS-messages in xml format from a JMS-Queue. retrieving them using an MDB. So i am processing all the xml-messages and writing the useful information from message to a File (appending all messages info to a single file). My question is : when i write the information from each single message to each single file,there is no curreption in data.where as when i am writing all the messages info to a single File my data is getting currepted.Means 2 or 3 messages when try to write the info at the same time causing curreption of data so is it possible to synchronize this and so that i cant loose or corrept my data in the file.
I hope the MDBs in pool are trying to write the messages at same time ... as i am getting 10 messages per second.Can anyone suggest me how i can write all of the messages with out curreption of the data ..
You seem to be trying direct file IO from an EJB. Which is not allowed. Think about what happens when an MDB responds to a message: the message listener method in one instance of the bean is called and starts the File IO. Then another message arrives on the Queue/Topic and another instance of the same MDB starts trying to write to the same file. So you now have two threads trying to write concurrently to one file. As with any EJB, if you need access to a resource like the File System you need to do it through a JCA Resource Adapter. Can i have some sample code for this JCA Resource Adapter with weblogic....
JCA - J2EE Connector Architecture JCA defines a standard architecture for connecting application server to Enterprise Information system. e.g is JDBC
It is compatible over all application servers.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com