我是自由的新手,并且正在尝试批处理(352)功能。我找不到这个问题,不管是通过搜索引擎还是堆栈溢出,所以我显然忽略了一些显而易见的东西.
我在Free8.5.5.9中创建了一个简单的测试应用程序。它的结构如下:
EAR已通过通常的Add/Remove菜单选择添加到服务器。
我现在尝试使用以下命令行提交该作业:
batchManager submit --batchManager=localhost:9443 --user=<> --password=<> --trustSslCertificates --jobXMLName=TestProcessor.xml --applicationName=testbatch我收到一条信息(截短):
Error: Server returned HTTP response code: 500 for URL: https://localhost:9443/ibm/api/batch/jobinstances: [Error 500: com.ibm.ws.jbatch.rest.bridge.BatchContainerAppNotFoundException: Failed to load the application context for application testbatch#testbatch.war. Verify the application is installed.我尝试过testbatch,testbatchEAR,testbatchWAR,但是从消息的"testbatch#testbatch.war“部分来看,它似乎只是对EAR和WAR使用了相同的名称,我认为这是不可能的,对吗?
我错过了其中的哪一部分?它肯定就在我面前,但我找到的每一个例子或解决方案都是使用赤裸裸的战争,而这是我做不到的。在任何自由的地方,我都可以找到应用程序的名称吗?我是否应该在某个地方定义名称(server.xml?)?
提前感谢!
*编辑:附加信息*
如果我从Eclipse > Java批处理作业部分运行它,它就会运行它,并且执行batchManager listJobs将应用程序名称显示为testbatchEAR#testbatchWAR.war。
因此,我想我真正的问题是,我如何将这个名字放入batchManager.bat的--applicationName选项中?它夺走并使#.war从它。我试过把listJobs的全名,但它不允许'#‘字符.
发布于 2016-09-06 14:44:00
在EAR应用程序中同时指定--applicationName和--moduleName
(正如您所发现的),在批处理应用程序打包在EAR内的WAR中的情况下,通常必须同时指定--applicationName和-moduleName,例如:
batchManager submit --batchManager=localhost:9443 ... --applicationName=testbatch --moduleName=testbatchWAR.war ...
在WAR应用程序中只指定--applicationName
不过,您可能已经看到了只需要--applicationName的例子,例如这里。
这种语法在批处理应用程序打包为WAR (但不是EAR中的WAR )的情况下起作用。
此处的“实用程序项目”名称与此无关,也没有EJB,因此也没有--componentName相关的名称。
文档在本节中确实提到了这个这里:
POST /ibm/api/批处理/作业实例 ..。 applicationName标识批处理应用程序。它是必需的,除非指定了moduleName,在这种情况下,applicationName是通过修剪.war或.jar后缀从moduleName派生的。例如,如果不提供applicationName和moduleName=SimpleBatchJob.war,则applicationName默认为SimpleBatchJob。 moduleName标识包含作业工件(如JSL )的批处理应用程序中的模块。作业是在模块的组件上下文下提交的。除非指定了moduleName,否则applicationName是必需的,在这种情况下,moduleName是通过将.war附加到applicationName来从applicationName派生的。例如,如果提供applicationName=SimpleBatchJob而不提供moduleName,则moduleName默认为SimpleBatchJob.war。
但是,如果您同时在WDT这样的工具中创建Web项目和EAR项目,那么您将很难为这些项目命名相同的名称(因为它们会发生冲突),因此这只在没有单独的EAR项目的情况下才能很好地工作。当EAR项目存在时,您需要这两个参数。
https://stackoverflow.com/questions/39272909
复制相似问题