我是 Liberty 的新手,正在尝试 Batch (352) 功能。无论是通过搜索引擎还是stackoverflow,我都找不到这个问题,所以我显然遗漏了一些明显的东西......
我在 Liberty 8.5.5.9 中创建了一个简单的测试应用程序。它具有以下结构:
- 测试批次EAR
- testbatchWAR
- 测试批次
- testbatchWAR
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 使用相同的名称,我认为这是不可能的,是它?
我错过了什么?它必须就在我面前,但我发现的每个示例或解决方案都是使用裸 WAR,这是我做不到的。在自由的任何地方我都可以找到应用程序名称吗?我应该在某处定义名称(server.xml?)吗?
提前致谢!
* 编辑:附加信息 *
如果我从 Eclipse Run Configurations > Java EE Batch Job 部分运行它,它会运行它,并且执行 batchManager listJobs 会将应用程序名称显示为 testbatchEAR#testbatchWAR.war。
所以我想我真正的问题是,我怎样才能把这个名字放到batchManager.bat 的--applicationName 选项中?它需要并从中产生#.war。我试过从 listJobs 中输入全名,但它不允许使用 '#' 字符......