>我遇到与 Bluemix 远程调试会话未启动相同的问题 尝试从 Eclipse 在 Bluemix Tomcat 服务器上调试我的 Web 应用程序时,请按照以下步骤操作。
- 全新安装的日食-jee-neon-R-win32-x86_64 和所有必需的 Eclipse 插件(例如,用于 Bluemix for Neon 的 Eclipse 工具)。
- 在 Bluemix 中创建了一个新的 Cloud Foundry 应用程序,已选择Tomcat 作为运行时,然后添加 Git 并构建和部署示例 Web名为"TomcatHelloWorldApp"的应用程序。
- 克隆'TomcatHelloWorldApp' Web 应用程序到我的 Eclipse 从 Jazz Git存储 库。
- 在 Eclipse 中创建新的 IBM Bluemix 服务器,添加并推送"TomcatHelloWorldApp"网络应用程序。
- 右键单击 IBM Bluemix 服务器下的 Web 应用程序,然后选择"启用应用程序调试"。
但是,我收到下面的错误。即使对于 Bluemix 创建的默认 Web 应用程序,它也无法正常工作:
[2016-07-17 14:15:54.854] bluemixMgmgClient - ???? [pool-1-thread-1] .... ERROR --- ClientProxyImpl: Cannot create the websocket connections for asmilk
com.ibm.ws.cloudoe.management.client.exception.ApplicationManagementException: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:161)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl$RunServerTask.run(ClientProxyImpl.java:272)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:374)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:158)
... 6 more
[2016-07-17 14:16:11.938] bluemixMgmgClient - ???? [pool-1-thread-1] .... ERROR --- ClientProxyImpl: Cannot create the websocket connections for asmilk
com.ibm.ws.cloudoe.management.client.exception.ApplicationManagementException: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:161)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl$RunServerTask.run(ClientProxyImpl.java:272)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.websocket.DeploymentException: The HTTP response from the server [500] did not permit the HTTP upgrade to WebSocket
at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:374)
at com.ibm.ws.cloudoe.management.client.impl.ClientProxyImpl.onNewClientSocket(ClientProxyImpl.java:158)
... 6 more
然后我尝试修改代码并使其在Java 1.8中正常工作将 Maven pom.xml 文件修改为
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
在清单 .yml 文件中添加以下设置。
env:
JBP_CONFIG_IBMJDK: '[version: 1.8.+]'
JBP_CONFIG_LIBERTY: 'app_archive: {features: [websocket-1.1, servlet-3.1]}
同时修改构建外壳命令,如下所示
#!/bin/bash
export JAVA_HOME=/opt/IBM/java8
mvn -B package
它已成功构建和部署,现在可以在 Java 1.8 上运行良好。
但是当我尝试"启用应用程序调试"时,我又遇到了同样的问题......你能在这方面提供任何帮助吗?
如果您使用 IBM JVM 作为工作台 JVM,那么 Bluemix 故障排除文档提供了解决此问题的更多详细信息。