我计划在一个项目中使用 BPEL,并尝试通过创建一个简单的示例来开始学习(我已经找到了 this和this),并使用了发布中提供的示例。但是,无论是我创建的小示例还是提供的示例,我都无法使任何工作。我通过将其 war 文件放在/var/lib/tomcat/webapps目录中来安装 Apache Ode。我已将示例放在/var/lib/tomcat/webapps/ode/WEB-INF/processes文件夹和tomcat/webapps/ode的bin文件夹中。当我尝试按照自述文件中的说明调用示例时:
sendsoap http://localhost:8080/ode/processes/helloWorld testRequest.soap
我得到错误:
Error: Could not find or load main class org.apache.ode.tools.sendsoap.cline.HttpSoapSender
关于浏览器界面,ODE 主页加载 ( http://localhost:8080/ode/#/ ) 但不识别任何服务或进程。
我已经按照@Sathwik 在下面评论中的说明重新安装了 ODE。重新启动 tomcat 时,我在 catalina 日志中得到以下信息(我只包含了有关 ode 的行),它警告可能存在内存泄漏:
19-Jan-2018 10:38:43.972 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ode] registered the JDBC driver [org.apache.derby.jdbc.AutoloadedDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
19-Jan-2018 10:38:43.973 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ode] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:552)
java.util.TimerThread.run(Timer.java:505)
19-Jan-2018 10:38:43.973 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ode] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@409a18d]) and a value of type [org.apache.derby.iapi.services.context.ContextManager] (value [org.apache.derby.iapi.services.context.ContextManager@33b194b]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
19-Jan-2018 10:38:45.302 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/var/lib/tomcat8/webapps/ode.war]
19-Jan-2018 10:38:56.788 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/var/lib/tomcat8/webapps/ode.war] has finished in [11,485] ms
我检查了我的旧日志(当我在这个问题中遇到问题但尚未重新安装时)并且输出不同:
18-Jan-2018 16:23:51.645 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/var/lib/tomcat8/webapps/ode]
18-Jan-2018 16:23:54.631 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/var/lib/tomcat8/webapps/ode] has finished in [2,985] ms
我正在使用 ODE 1.3.7、tomcat8 和 Ubuntu 17.10。示例的位置或 ODE 依赖项是否存在问题?应该怎么做才能避免日志中提到的内存泄漏?至少应该按照教程的建议将示例流程列在 Web 界面中吗?