繁体   English   中英

如何编写部署时自动执行的 web 服务方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM