[英]How to write a web service method which automatically executed when deployed
我在 Wildfly 服务器上创建了一个 web 服务,其方法如下:
public ArrayList<CustomerRecord> QueryCustomer(String[] name,String[] keyword,String client) throws JCoException
{
// String client="700";
System.out.println("Query Start");
ArrayList<CustomerRecord> codelist=new ArrayList<CustomerRecord>();
CustomerRecord codeItem=new CustomerRecord();
JCoDestination destination;
MyDestinationDataProvider myProvider = MyDestinationDataProvider.getInstance();
MyDestinationDataProvider myProviderN = MyDestinationDataProvider.getInstance();
if (Environment.isDestinationDataProviderRegistered())
{
try {
destination= JCoDestinationManager.getDestination("ABAP");
}
catch (Exception e) {
}
}
else
{
Environment.registerDestinationDataProvider(myProvider);
myProvider.addDestination("ABAP700", JCOtest.connectProperties700);
myProvider.addDestination("ABAP300", JCOtest.connectProperties300);
...
它将首先检查是否存在已注册的 DestinationDataProvider,如果存在则使用它,如果不存在则创建一个。 我还写了一个 JSP 来访问这个方法。
现在我想把这个注册过程分离成另一种方法,让它在部署或服务器启动时自动运行? 那么该怎么做呢? 也许为注册方法创建一个 jar 并部署为模块?有帮助吗?谢谢。
您可以将注册部分移至启动 singleton EJB 的@PostConstruct
方法。 加载应用程序时,它将由服务器执行。
@Singleton
@Startup
public class StartupBean {
@PostConstruct
private void registration() {
//...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.