2016-07-04 62 views
1

我发现了一些与此有关的问题,但没有具体的答案。 我的代码如下:JAX-WS线程安全

1:QName qname = new QName(URI,SERVICE_NAME);

2:Service service = Service.create(WSDL_DOCUMENT_LOCATION,qname);

3:TestPort1 port = service.getPort(TestPort1.class);

时报:

  • 2号线是16毫秒

  • 线3是27毫秒

现在,在我的情况的时间是非常重要的,问题是,有可能只有 qname和服务初始化一次,并定义为静态字段,每次我只需要获取端口是否拨打WS电话?

其他建议?

我使用标准的java jax-ws注解。

UPDATE:

可能的解决方案是使用一些对象池作为Apache的共享池库和保存创建的端口以备将来使用?

回答

1

QName只在内部保存字符串,并且在构造函数被调用后不提供任何方法来更改它们,因此如果不是,则可以将其视为不可变类。

+0

好的,但那不是完整的答案 – djuRa