6

Can the javax.xml.soap.MessageFactory be reused?
I.e.

msgFactory = MessageFactory.newInstance(); 

Can I cache msgFactory and reuse it to create new SOAPMessages as needed?
Also should the msgFactory.createMessage(); be synchronized if it is ok to reuse msgFactory in the code?

UPDATE:
Also in single threaded-code, could I store msgFactory to create SOAPMessages over and over, so as not to create a new instance of MessageFactory each time Thanks

Cratylus
  • 52,998
  • 69
  • 209
  • 339
  • The javadoc don't say one way or another, which is unfortunate. I suspect a `MessageFactory` is thread-safe, since that's the convention, but it's hard to be 100% sure. – skaffman Nov 17 '10 at 10:36
  • @scaffman:But in single threaded-code, could I store msgFactory to create SOAPMessages over and over, so as not to create a new instance of MessageFactory each time? – Cratylus Nov 17 '10 at 10:58

1 Answers1

4

There's nothing in the javadoc to say that instances of MessageFactory are thread-safe, so I wouldn't make that assumption.

However, within a single thread, there's nothing to stop you re-using a MessageFactory instance over and over again.

skaffman
  • 398,947
  • 96
  • 818
  • 769