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

公司没注册可以做网站吗微信分享的h5网站开发

公司没注册可以做网站吗,微信分享的h5网站开发,长春网站制作最新招聘信息,wordpress怎么seoejb 示例 2018在本教程中#xff0c;我们将了解状态Java企业会话Bean中激活和钝化的工作方式。 1.简介 有状态会话Bean通常保存有关特定客户端的信息#xff0c;并在整个会话中保存该信息。 但是#xff0c;事实是#xff0c;客户端会话往往会在相当长的时间内保持活动状态… ejb 示例 2018 在本教程中我们将了解状态Java企业会话Bean中激活和钝化的工作方式。 1.简介 有状态会话Bean通常保存有关特定客户端的信息并在整个会话中保存该信息。 但是事实是客户端会话往往会在相当长的时间内保持活动状态当然许多客户端可以同时在线。 结果EJB容器必须实现一种机制该机制使得释放在给定时刻不使用的资源成为可能并且可以在需要时再次激活它。 钝化会话Bean意味着将其从容器的会话EJB缓存中删除并将会话Bean的所有必要信息和属性存储在文件中。 激活会话Bean意味着读取上述文件并在缓存中还原已钝化的会话Bean。 就像您想象的那样该会话bean的所有字段都必须可序列化 。 在这个示例中我们将创建一个EAR项目和一个EJB项目它们将托管我们的Session Bean以及一个动态Web应用程序它将托管Servlet并测试上述钝化和激活属性。 我们将使用Eclipse Java EE IDE 4,3 Kepler和Glassfish 4.0作为我们的容器。 2.创建一个新的企业应用程序项目 创建一个名为SatefulBeansEAR的新企业应用程序项目。在Eclipse IDE中选择File- SatefulBeansEAR Enterprise Application Project并填写表单然后单击Finish 3.创建一个新的EJB Projet 创建一个名为StatefulEJB的新EJB项目。 我们将基于此创建会话bean。 转到文件-新建- EJB项目并填写表单。 注意选择“ Add EAR Project”然后选择“ StatefulBeansEAR ”作为EAR项目名称 单击两次Next然后选择创建EJB Client JAR以及生成ejb-jar.xml部署描述符 4.创建一个令人满意的会话Bean 在Project Explorer中打开StatefulEJB Project并在ejbModule文件夹中创建一个名为com.javacodegeeks.enterprise.ejb的新源包。 在该程序包中创建一个新的Interface它将是EJB的本地视图 Passivation.java package com.javacodegeeks.enterprise.ejb;import javax.ejb.Local;import com.javacodegeeks.enterprise.ejb.property.PropertyObject;Local public interface Passivation {void setPropertyObject(PropertyObject propertyObject);PropertyObject getPropertyObject();} 这是会话Bean PassivationBean.java package com.javacodegeeks.enterprise.ejb;import javax.ejb.PostActivate; import javax.ejb.PrePassivate; import javax.ejb.Stateful;import com.javacodegeeks.enterprise.ejb.property.PropertyObject;Stateful public class PassivationBean implements Passivation {private PropertyObject myProperty;Overridepublic void setPropertyObject(PropertyObject propertyObject) {this.myProperty propertyObject;}Overridepublic PropertyObject getPropertyObject() {return this.myProperty;}PrePassivateprivate void prePassivate(){// Free resources // ...System.out.println(Passivating EJB. Property value: myProperty.getProperty());}PostActivateprivate void postActivate(){// Reactivate resources// ...System.out.println(Activating EJB. Property value: myProperty.getProperty());} } 在上面的代码中 private void prePassivate() 用PrePassivate注释是当EJB容器决定钝化该会话bean时要执行的方法。 private void postActivate()具有注释PostActivate 是EJB容器由于再次需要而激活钝化会话Bean时要执行的方法。 此外如您所见会话bean有一个private PropertyObject myProperty字段。 这个对象可以包含有关会话Bean资源以及任何有用的数据的信息。 因此当钝化bean时我们希望也必须保存和恢复此属性。 因此正如我们在简介中所提到的它必须是可Serilizable的。 话虽如此如果您不想存储此属性因为您不希望在激活Bean时检索该资源则可以使用Transient注解声明对象瞬态。 我为此对象创建了一个名为com.javacodegeeks.enterprise.ejb.property的新源程序包。 PropertyObject.java package com.javacodegeeks.enterprise.ejb.property;import java.io.Serializable;public class PropertyObject implements Serializable {private static final long serialVersionUID 1L;private String property;public PropertyObject(String value){this.property value;}public String getProperty() {return property;}} 因此这将是EJB项目SatefulEJB的最终结构 5.创建一个新的动态Web项目 转到文件-新建-动态Web项目。 填写表单并确保选中“将项目添加到EAR”然后将StatefulBeans EAR作为“ EAR项目名称” 单击“完成”后转到项目资源管理器然后右键单击项目StatefulBeansTest然后转到“属性”-“部署程序集”-“添加”-“项目”-“ StatefulEJB” 6.创建一个新的Servlet 转到StatefulBeansTest Web项目并创建一个名为MyServlet的新Servlet 因此这将是Web项目的最终结构 MyServlet.java package com.javacodegeeks.enterprise.servlet;import java.io.IOException;import javax.naming.InitialContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.javacodegeeks.enterprise.ejb.Passivation; import com.javacodegeeks.enterprise.ejb.property.PropertyObject;WebServlet(/MyServlet) public class MyServlet extends HttpServlet {private static final long serialVersionUID 1L;public MyServlet() {super();}protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {System.out.println(Hello from Servlet);InitialContext ic;Passivation passivation;String beanCountparam request.getParameter(count);if (beanCountparam ! null) {int beanCount Integer.parseInt(beanCountparam);try {ic new InitialContext();for (int i 0; i beanCount; i) {passivation (Passivation) ic.lookup(java:global/StatefulBeansEAR/StatefulEJB/PassivationBean! com.javacodegeeks.enterprise.ejb.Passivation);passivation.setPropertyObject(new PropertyObject(bean i));request.getSession().setAttribute(bean i,passivation);}} catch (Exception e) {throw new ServletException(e);}}String beanActivationIndex request.getParameter(activate);if (beanActivationIndex ! null) {try {ic new InitialContext();passivation (Passivation) request.getSession().getAttribute(bean beanActivationIndex);System.out.println(TestObject property value: passivation.getPropertyObject().getProperty());} catch (Exception e) {throw new ServletException(e);}}}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {}} 在上面的代码中访问Servlet时它将解析count查询参数生成count会话bean并将其存储到请求会话中。 因此如果存在activate查询参数则从会话中检索相应的bean。 提示 如果您在找出EJB PassivationObject的可移植JNDI名称时遇到麻烦请在部署项目时查看Glassfish的日志或输出您会发现类似以下内容的行 2013-12-13T182228.598 0200 | INFO EJB5181EJB PassivationObject的便携式JNDI名称javaglobal / StatefulBeans / StatefulEJB / PassivationObjectjavaglobal / StatefulBeans / StatefulEJB / PassivationObjectcom.javacodegeeks.enterprise.ejb.Passivation 7.测试 创建上述项目后您必须在Glassfish上运行StatefulBeansTest 。 为了测试所需的行为我们必须以某种方式触发特定会话bean的钝化和激活。 要强制钝化Session Bean我们必须使容器从会话缓存中将其删除。 默认情况下Glassfish最多可以承载512个会话bean。 因此如果我们触发请求创建600个bean的请求那么其中的一些bean最终将从缓存中删除。 该请求可以是 http://localhost:8080/StatefulBeansTest/MyServlet?count600 控制台中的输出将是 2013-12-30T22:29:36.9780200|INFO: Hello from Servlet 2013-12-30T22:29:37.3150200|INFO: Passivating EJB. Property value: bean31 2013-12-30T22:29:37.3290200|INFO: Passivating EJB. Property value: bean64 2013-12-30T22:29:37.3320200|INFO: Passivating EJB. Property value: bean70 2013-12-30T22:29:37.3450200|INFO: Passivating EJB. Property value: bean98 2013-12-30T22:29:37.3900200|INFO: Passivating EJB. Property value: bean117 2013-12-30T22:29:37.3900200|INFO: Passivating EJB. Property value: bean116 2013-12-30T22:29:37.3900200|INFO: Passivating EJB. Property value: bean115 2013-12-30T22:29:37.3940200|INFO: Passivating EJB. Property value: bean114 2013-12-30T22:29:37.3940200|INFO: Passivating EJB. Property value: bean113 2013-12-30T22:29:37.3940200|INFO: Passivating EJB. Property value: bean112 2013-12-30T22:29:37.3970200|INFO: Passivating EJB. Property value: bean111 2013-12-30T22:29:37.3980200|INFO: Passivating EJB. Property value: bean110 2013-12-30T22:29:37.3990200|INFO: Passivating EJB. Property value: bean109 2013-12-30T22:29:37.4020200|INFO: Passivating EJB. Property value: bean108 2013-12-30T22:29:37.4030200|INFO: Passivating EJB. Property value: bean107 . . . 因此您可以看到一些Bean已从缓存中删除并因此被钝化。 现在触发bean的激活我们可以简单地请求检索已被钝化的bean例如bean31 。 该请求可以是 http://localhost:8080/StatefulBeansTest/MyServlet?activate31 控制台中的输出将是 2013-12-30T22:33:48.7420200|INFO: Hello from Servlet 2013-12-30T22:33:48.7440200|INFO: Activating EJB. Property value: bean31 2013-12-30T22:33:48.7450200|INFO: TestObject property value: bean31 而已。 现在可以确信我们实际上已将会话bean序列化到了光盘您可以转到Glassfish_installation_folder/glassfish4/glassfish/domains/domain1/session-store 在其中您可以实际看到保存bean的文件夹 下载Eclipse项目 这是有关EJB钝化和激活的示例。 下载本教程的Eclipse项目 EJBPassivationActivation.zip 翻译自: https://www.javacodegeeks.com/2013/08/ejb-passivation-and-activation-example.htmlejb 示例 2018
http://www.yutouwan.com/news/272656/

相关文章:

  • 网站界面设计要素化工行业网站设计
  • 陕西网站建设维护wordpress博客自媒体资讯主题
  • 中国做乱的小说网站wordpress写文章报错
  • 贵州网站推广jp域名
  • 用百度云服务器做网站我常用的网站有哪些类型有哪些类型有哪些
  • 陕西建设网官网三类人员小红书笔记关键词排名优化
  • 长安做网站价格石家庄现状
  • 网站开发主要内容和要求视频转网址在线生成
  • 网站建设规划方案制作做家电选招标采购哪一个网站好
  • 做网站要求付全款网站开发人员调试
  • 郑州影楼网站建设网站要怎么盈利
  • 怎样才能建设只是于自己的网站广东seo推广软件
  • 网站建设短期培训网页微信客户端下载
  • 个人网站 平台免费生成logo的软件
  • 镇江网站设计做薪酬调查的网站
  • 三河市网站建设品牌推广的方式
  • 搜网站技巧加强图书馆网站建设
  • 专业的赣州网站建设wordpress 做企业站
  • 怎么做会员积分网站做的网站客户拿去维违法
  • 那些网站是针对物流做的电商模板免费下载
  • 阿里云购买网站空间中国万网
  • 大兴安岭做网站宜宾网站建设08keji
  • 做网站最新技术重庆市建设工程信息网安全员c证电子版下载
  • 用外服务器做网站做网站的参考文献
  • 网站后台账号密码破解免费企业查询软件
  • 大型网站的空间中国空间站合作国家名单
  • 平台网站开发的税率佛山+客户端官网
  • 苏州设计网站公司手机wordpress怎么注册
  • 北京社保网站减员怎么做装修公司资质查询官方网站
  • html网站素材保险网销平台