当前位置: 首页 > news >正文

临高县网站建设_网站建设公司_小程序网站_seo优化

天津网站建设多少钱,把网站做成微信小程序,网站如何制作的,服装网站建设工作室在本文中#xff0c;让我们探索谈论较少的Web Socket Client API#xff0c;以及如何在Java EE 7容器本身中利用它。 Web套接字服务器API规则 JSR 356的服务器端API#xff08;Java的Web套接字API#xff09;最常用于构建Web套接字端点实现。 从客户端的角度来看#xff… 在本文中让我们探索谈论较少的Web Socket Client API以及如何在Java EE 7容器本身中利用它。 Web套接字服务器API规则 JSR 356的服务器端APIJava的Web套接字API最常用于构建Web套接字端点实现。 从客户端的角度来看基于JavaScriptHTML5浏览器客户端经常利用标准JavaScript Web套接字API这些客户端将自己附加到Web套接字服务器端点并享受双向和全双工通信。 您将看到常见的示例例如实时地图股票行情自动收录器游戏屏幕共享等应用程序-所有这些用例都是Web套接字的完美选择而Java EE 7是构建可扩展Web套接字驱动的后端的理想平台。 Web Socket客户端API呢 Web套接字规范还包括客户端API并且它对于所有JSR 356例如Tyrus Undertow等实现都必须提供的API。 在相当多的用例中 可能不需要面向浏览器/面向Web套接字客户端的最终用户。 例 考虑一种情况您想连接到第三方Web Socket端点使用其信息并将其保留以备后用 也许有待进一步分析 在这种情况下利用Java EE容器本身内的客户端API很有用。 让我们通过一个简单的示例对此进行探讨。 带注释Web Socket Client 注意 OnMessage的逻辑是有意排除的并且已以不同的方式实现稍后说明 package blog.abhirockzz.wordpress.com;import javax.websocket.ClientEndpoint; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.Session;ClientEndpoint public class StockTickerClient {OnClosepublic void closed(Session session) {System.out.println(Session session closed);}OnErrorpublic void error(Throwable error) {System.out.println(Error: error.getMessage());}} 股票代码信息JPA实体 package blog.abhirockzz.wordpress.com;import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table;Entity Table(name STOCK_TICK) public class StockTick implements Serializable {IdGeneratedValue(strategy GenerationType.AUTO)private Long id;private String name;private String price;public StockTick(String name, String price) {this.name name;this.price price;}public StockTick() {//for JPA}//getters and setters omitted ... } 无状态豆 处理股票行情信息的持久性 针对Java EE 7容器提供的默认JDBC数据源执行其操作 约定优于配置 package blog.abhirockzz.wordpress.com;import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext;Stateless public class StockInfoPersistenceService {PersistenceContextEntityManager em;public void save(String name, String price){em.persist(new StockTick(name, price));} } 单例EJB 利用Web Socket ContainerProvider API 启动与Web套接字服务器的连接 注入StockInfoPersistenceService bean并在addMessageHandler实现中使用它 如前所述这里包含了持久性逻辑该逻辑可以嵌入在StockTickerClient类的OnMessage注释方法中。 这是因为StockInfoPersistenceService 无状态bean的注入失败并且实例本身被解析为null。 package blog.abhirockzz.wordpress.com;import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.ejb.Singleton; import javax.ejb.Startup; import javax.inject.Inject; import javax.websocket.ContainerProvider; import javax.websocket.DeploymentException; import javax.websocket.MessageHandler; import javax.websocket.Session; import javax.websocket.WebSocketContainer;Singleton Startup public class StockServiceBootstrapBean {private final String WS_SERVER_URL ws://api.stocks/ticker; //fictitiousprivate Session session null;InjectStockInfoPersistenceService tickRepo;PostConstructpublic void bootstrap() {WebSocketContainer webSocketContainer null;try {webSocketContainer ContainerProvider.getWebSocketContainer();session webSocketContainer.connectToServer(StockTickerClient.class, new URI(WS_SERVER_URL));System.out.println(Connected to WS endpoint WS_SERVER_URL);session.addMessageHandler(new MessageHandler.WholeString() {Overridepublic void onMessage(String msg) {tickRepo.save(msg.split(:)[0], msg.split(:)[1]);}});} catch (DeploymentException | IOException | URISyntaxException ex) {Logger.getLogger(StockServiceBootstrapBean.class.getName()).log(Level.SEVERE, null, ex);}}PreDestroypublic void destroy() {close();}private void close() {try {session.close();System.out.println(CLOSED Connection to WS endpoint WS_SERVER_URL);} catch (IOException ex) {Logger.getLogger(StockServiceBootstrapBean.class.getName()).log(Level.SEVERE, null, ex);}} } 就是这样。 尽管这是一个相对简单的示例但很难想象可以在Web套接字服务器终结点接收的信息上应用各种复杂的业务逻辑。 您可能还想考虑使用session.getAsyncRemotesendAsync方法以异步方式向连接的客户端发送消息。 干杯! 翻译自: https://www.javacodegeeks.com/2015/07/websocket-client-api-in-java-ee-7.html
http://www.ihoyoo.com/news/109500.html

相关文章:

  • 成都网站建设潮州公司的网 网站打不开
  • 惠州微网站建设视频直播网站app开发
  • 广州网站制作设计公司南宁学网站建设
  • 网站建设加推广北京清控人居建设集团网站
  • 如何提高网站访问量wordpress集成微博登陆
  • 山东网站建设排行榜线上课程制作
  • 高端的培训行业网站开发深圳宝安建设工程交易中心
  • 做网站能不能赚钱wordpress修改侧边栏
  • 网站的开发包括什么东西wordpress默认摘要
  • 网站开发树形图济南seo优化
  • 出售源码的网站wordpress 插件 升级
  • 免费app下载网站seo培训班
  • 安徽网站开发培训价格哪些网站是单页面
  • 海南做网站找谁本地网站搭建如何访问网页
  • 公司网站开发部署网站建设服务商的网站建设流程
  • 盐山县做网站价格济南网站建设推广服务
  • 机电网站模板企业建设项目备案办法
  • 网站做百度推广去掉自动升级wordpress失败提示
  • 企业建设网站公司简介网站怎么做登录
  • 营销型网站5要素app购物商城
  • 花里胡哨的网站手机制作海报的软件免费
  • 网站营销成功的案例分析乐之网站制作
  • 深圳企业做网站公咨询公司招聘
  • wordpress如何重装wordpress自带主题优化
  • 去哪儿网站上做民宿需要材料广州企业100强
  • 济南网站建设找凌峰做网站企业经营范围
  • 微网站矩阵怎么做购物网站建设策划
  • 青海农业网站建设公司网站镜像 动态
  • 网站的空间是什么通过服务推广网站的案例
  • 学习软件开发的网站物业网站开发