2010-11-17 23 views
3

可重用javax.xml.soap.MessageFactory
I.e.针对MessageFactory的jaxp对象缓存

msgFactory = MessageFactory.newInstance(); 

我可以缓存msgFactory并根据需要重新创建新的SOAPMessages吗?
也应该msgFactory.createMessage();如果可以重新使用代码中的msgFactory是同步的?

UPDATE:
此外,在单线程代码,可我存储msgFactory一遍又一遍地创建的SOAPMessages,以免创建的MessageFactory每次一个新实例 感谢

+0

javadoc不说这样或那样,这是不幸的。我怀疑'MessageFactory'是线程安全的,因为这是约定,但很难100%确定。 – skaffman 2010-11-17 10:36:55

+0

@scaffman:但是在单线程代码中,我是否可以存储msgFactory来反复创建SOAPMessages,以免每次都创建一个新的MessageFactory实例? – Cratylus 2010-11-17 10:58:09

回答

2

没有什么是在javadoc说MessageFactory的实例是线程安全的,所以我不会做出这个假设。

但是,在单个线程中,没有什么可以阻止您重复使用MessageFactory实例。

+0

我是否也可以同步访问msgFactory以获得每个线程的SOAPMessage? – Cratylus 2010-11-17 11:49:11

+0

@ user384706:我想是的,但是,您必须手动进行同步 – skaffman 2010-11-17 12:10:43