我正在使用 WebSocket 服务包将一个基于 JBOSS EAP 7.3 的企业级应用程序迁移到 IBM WebSphere 应用程序服务器 9.0.5.6 (WAS)。问题是,当我尝试连接到WebSocketendpoint时,它什么都不做。在 WebSphere 中,我相应地配置了所有虚拟主机和端口,我的 WebSocket endpoint类如下所示。
@ServerEndpoint("/WebSocketServices")
public class ClientConnectorWebSocketCore {
private static final OMSLogHandlerI logger = new Log4j2HndlAdaptor("ClientConnectorWebSocketCore");
private ClientConnectorFacadeWrapperRemote clientConnectorFacadeRemote;
private EJBServiceLocatorI ejbServiceLocatorI;
@OnOpen
public void onConnectionOpen(Session session) {
session.setMaxIdleTimeout(120000); //todo //milli seconds
getEjbServiceLocatorI();
logger.elkLog("29", LogEventsEnum.WSOCKET_SESSION_CONNECT, " Session Create:" + session.getId());
}
@OnMessage
public String onMessage(String message) {
return handleJSONRequest(message);
}
@OnClose
public void onConnectionClose(Session session) {
logger.elkLog("42", LogEventsEnum.WSOCKET_SESSION_CLOSE, " Session Close:" + session.getId());
}
@OnError
public void onConnectionError(Session session, Throwable t) {
// logger.info("LN:47", session.getId(), LogEventsEnum.WEB_SOCKET_ONERROR, "WebSocket OnException" + t.getMessage());
logger.elkLog("48", LogEventsEnum.WEB_SOCKET_ONERROR, " Session error:" + session.getId() + ", Msg:" + t.getMessage());
}
public void msgBroadCast(Session session, String msg) {
for (Session session1 : session.getOpenSessions()) {
if (session1.isOpen()) {
session1.getAsyncRemote().sendText(msg);
}
}
}
private EJBServiceLocatorI getEjbServiceLocatorI(){
if (ejbServiceLocatorI == null){
ejbServiceLocatorI =
(EJBServiceLocatorI) SpringBeanFactoryLoader.getInstance().getBeanLoader().getBean(EJBServiceLocatorI.class);
}
return ejbServiceLocatorI;
}
private ClientConnectorFacadeWrapperRemote getClientConnectFacade() {
if (clientConnectorFacadeRemote == null) {
try {
ejbServiceLocatorI = getEjbServiceLocatorI();
clientConnectorFacadeRemote =
(ClientConnectorFacadeWrapperRemote) ejbServiceLocatorI.contextLookupConnectorFacadeRemote(ClientConnectorFacadeWrapperRemote.class);
} catch (Exception e) {
logger.error("LN:66", "Error in Creating Client connector " + e.getMessage(), e);
}
}
return clientConnectorFacadeRemote;
}
private String handleJSONRequest(String jsonRequest) {
ClientConnectorFacadeWrapperRemote clientConnector = getClientConnectFacade();
String response = null;
if (clientConnector != null) {
response = clientConnector.processMessage(jsonRequest);
}
return response;
}
@OnMessage
public void pongMessage(Session session, PongMessage msg) {
msg.getApplicationData().toString();
}
public void setEjbServiceLocatorI(EJBServiceLocatorI ejbServiceLocatorI) {
this.ejbServiceLocatorI = ejbServiceLocatorI;
}
}
非常感谢您的任何建议。
如果您的请求流经带有WebSphere插件的Web服务器,您需要确保插件处于9.0.5.6或更高级别,因为可能会阻止websocket流量的错误(PH27966)。
我遇到的问题,而试图使用Spring开机与是(WebSphere)服务器。我有一个网页,接受输入,然后执行@控制器类。 任何帮助都将不胜感激。这是什么特别的,我们需要做在POM. xmlIBMWebSphere。 下面是我的应用课程内容。 我已经加了 Spring boot:run提供了以下错误跟踪。
本文列出了Apache HTTP服务器中所有的可执行程序。 索引 httpd Apache超文本传输协议服务器 apachectl Apache HTTP服务器控制接口 ab Apache HTTP服务器性能测试工具 apxs APache功能扩展工具 configure 配置源代码树 dbmmanage 建立和更新DBM形式的基本认证文件 htcacheclean 清理磁盘缓冲区 htdiges
问题内容: 我已经在Android中创建了一个网络服务器,该服务器绑定到端口2090,并为Android设备的sdcard服务,如果在Internet Explorer中键入,则可以正常工作,但效果很好,但是当我在其他浏览器中打开它时,它会以文本形式打开HTML文件请帮我。 这是我的代码。 服务器启动器类: jhttp类: RequestProcessor: Logcat: 没有发布,因为没有错误
请告诉我web服务器、web容器和应用程序服务器之间的区别。
本文向大家介绍Web服务器和应用程序服务器之间的区别,包括了Web服务器和应用程序服务器之间的区别的使用技巧和注意事项,需要的朋友参考一下 服务器是一个中心位置,通过网络应用程序可以存储和访问信息和程序。Web Server是一种服务器,它接受数据请求并返回相关文档,而Application Server包含一个ejb容器组件以及运行企业应用程序。 以下是Web服务器和应用程序服务器之间的重要区别
我有一个nodejs应用程序,它只不过是一个使用微软botbuilder框架构建的机器人。我创建了azure应用程序服务来托管此应用程序。我想找到一种方法,将所有应用程序日志和web服务器日志(如果可能的话)持久化到某个持久化存储中。就像本地web应用程序一样,我们可以在应用程序服务器上查找日志 在做了一些研究之后,我找到了微软关于这方面的官方文件,但看起来它有以下局限性。 我们不能使用应用程序服