Jun*_*Liu 8 tomcat web-services java-metro-framework jax-ws java-ee
我们有一个消息处理服务器,它
现在,客户端希望在服务器上拥有Web服务服务器,他们将能够使用Web服务客户端查询消息处理服务器.例如,给我今天的所有消息,或删除带有id的消息....
问题是:
您不需要第三方库来使用jax-ws注释.J2SE附带jax-ws,因此所有注释仍可供您使用.您可以使用以下解决方案实现轻量级结果,但对于任何优化/多线程的任何内容,您可以自行实现:
设计一个SEI服务端点接口,它基本上是一个带有Web服务注释的java接口.这不是强制性的,它只是基本OOP的良好设计点.
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC) //this annotation stipulates the style of your ws, document or rpc based. rpc is more straightforward and simpler. And old.
public interface MyService{
@WebMethod String getString();
}
Run Code Online (Sandbox Code Playgroud)在称为SIB服务实现bean的java类中实现SEI.
@WebService(endpointInterface = "com.yours.wsinterface") //this binds the SEI to the SIB
public class MyServiceImpl implements MyService {
public String getResult() { return "result"; }
}
Run Code Online (Sandbox Code Playgroud)使用Endpoint
import javax.xml.ws.Endpoint 公开服务;
public class MyServiceEndpoint{
public static void main(String[] params){
Endpoint endPoint = EndPoint.create(new MyServiceImpl());
endPoint.publish("http://localhost:9001/myService"); //supply your desired url to the publish method to actually expose the service.
}
}
Run Code Online (Sandbox Code Playgroud)正如我所说,上面的片段非常基本,并且在制作中表现不佳.您需要为请求设计线程模型.端点API接受Executor的实例以支持并发请求.线程不是我的事,所以我无法给你指点.