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

网站页面优化分析网站表单制作

网站页面优化分析,网站表单制作,粉丝网站制作,发布友情链接java与java ee自Java EE 7规范发布以来已经过去了一年。 现在#xff0c;Wildfly 8 Final已发布#xff0c;现在是时候仔细看看这些新功能了。 自Java EE诞生以来#xff0c;缺少的一件事就是能够使用成熟的Java EE线程。 Java EE 6已经为我们带来了Asynchronous批注#… java与java ee 自Java EE 7规范发布以来已经过去了一年。 现在Wildfly 8 Final已发布现在是时候仔细看看这些新功能了。 自Java EE诞生以来缺少的一件事就是能够使用成熟的Java EE线程。 Java EE 6已经为我们带来了Asynchronous批注通过它我们可以在后台执行单个方法但是真正的线程池仍然遥不可及。 但是自Java EE 7引入ManagedExecutorService以来这一切都成为历史 Resource ManagedExecutorService managedExecutorService; 像标准版中众所周知的ExecutorService一样ManagedExecutorService可用于提交在线程池中执行的任务。 可以选择提交的任务应实现Runnable还是Callable接口。 与普通的SE ExecutorService实例相反ManagedExecutorService提供了可以访问例如来自JNDI的UserTransactions的线程以便在其执行期间执行JPA事务。 与在SE环境中启动的线程相比此功能有很大的不同。 重要的是要知道在ManagedExecutorService的线程池中启动的事务在提交任务的线程的事务范围之外运行。 这使得可以实现以下方案提交线程将有关已启动任务的一些信息插入数据库而长时间运行的任务在独立事务中执行其工作。 现在在我们学习了一些理论之后让我们开始编写一些代码。 首先我们编写一个Stateless EJB该EJB注入了ManagedExecutorService Stateless public class MyBean {ResourceManagedExecutorService managedExecutorService;PersistenceContextEntityManager entityManager;InjectInstanceMyTask myTaskInstance;public void executeAsync() throws ExecutionException, InterruptedException {for(int i0; i10; i) {MyTask myTask myTaskInstance.get();this.managedExecutorService.submit(myTask);}}public ListMyEntity list() {return entityManager.createQuery(select m from MyEntity m, MyEntity.class).getResultList();} } 我们将提交给ManagedExecutorService的任务是从CDI的实例机制中检索的。 这使我们可以在MyTask类中使用CDI的功能 public class MyTask implements Runnable {private static final Logger LOGGER LoggerFactory.getLogger(MyTask.class);PersistenceContextEntityManager entityManager;Overridepublic void run() {UserTransaction userTransaction null;try {userTransaction lookup();userTransaction.begin();MyEntity myEntity new MyEntity();myEntity.setName(name);entityManager.persist(myEntity);userTransaction.commit();} catch (Exception e) {try {if(userTransaction ! null) {userTransaction.rollback();}} catch (SystemException e1) {LOGGER.error(Failed to rollback transaction: e1.getMessage());}}}private UserTransaction lookup() throws NamingException {InitialContext ic new InitialContext();return (UserTransaction)ic.lookup(java:comp/UserTransaction);} } 在这里我们可以注入EntityManager来将某些实体持久化到我们的数据库中。 我们需要提交的UserTransaction必须从JNDI中检索。 在普通的受管bean中无法使用Resource批注进行注入。 为了规避UserTransaction我们当然可以调用另一个EJB的方法并使用另一个EJB的事务将更改提交到数据库。 以下代码显示了使用注入的EJB持久化实体的替代实现 public class MyTask implements Runnable {private static final Logger LOGGER LoggerFactory.getLogger(MyTask.class);PersistenceContextEntityManager entityManager;InjectMyBean myBean;Overridepublic void run() {MyEntity myEntity new MyEntity();myBean.persit(myEntity);} } 现在我们只需要利用JAX-RS通过REST接口调用该功能 Path(/myResource) public class MyResource {Injectprivate MyBean myBean;Path(list)GETProduces(text/json)public ListMyEntity list() {return myBean.list();}Path(persist)GETProduces(text/html)public String persist() throws ExecutionException, InterruptedException {myBean.executeAsync();return htmlh1Successful!/h1/html;} } 而已。 通过这几行代码我们实现了一个功能全面的Java EE应用程序该应用程序可以通过REST接口调用其功能并且可以通过其自己的事务在工作线程中异步执行其核心功能。 结论 ManagedExecutorService是一项很棒的功能可以使用所有标准Java EE功能如JPA和事务将异步功能集成到企业应用程序中。 我会说等待是值得的。 示例源代码可以在github上找到。 参考在Martins Developer World博客上 使用Java EE的ManagedExecutorService异步执行了来自我们JCG合作伙伴 Martin Mois的事务 。 翻译自: https://www.javacodegeeks.com/2014/03/using-java-ees-managedexecutorservice-to-asynchronously-execute-transactions.htmljava与java ee
http://www.pierceye.com/news/874718/

相关文章:

  • 青岛手机建站公司网站源码com大全
  • 电脑搭建网站需要空间wordpress文件夹权限设置方法
  • 建设网站基础医疗网站建设比较好的
  • 建个网站视频教程小程序开发是前端还是后端
  • 广州分享网站建设网站速度查询
  • 做电商网站价钱传奇类网页游戏大全
  • 如何选择南京网站建设网站制作能赚多少钱
  • 一站式网站设计已有域名如何在花生壳网站做二级域名托管
  • 哪个网站可以接图纸做返利网站怎么做的
  • 旅游网站建设国内外现状辽阳专业建设网站公司
  • 免费视频模板网站wordpress不写代码
  • 设计网站公司 露 联湖南岚鸿小程序网站开发公司
  • 聊城网站设计seo公司重庆
  • 网站布局技术厦门网站建设680元
  • 深圳物流公司网站建e网怎么做效果图
  • 做营销网站公司建个个人网站一年多少钱
  • 阆中网站网站建设代理网络服务器
  • 企业网站新模式seo排名推广工具
  • 山东做网站三五个人网页设计作品简单
  • 福州网站建设软件网站做了301怎么查看跳转前网站
  • 网站开发竞品分析网站开发与规划
  • 香山红叶建设有限公司网站网络营销方式落后的表现
  • 合肥百姓网网站建设263云通信官方网站
  • 深圳建设网站seo 手机电商数据分析师
  • 网站内外链怎么做公司建设包括哪些方面
  • 织梦网站环境搭建电子邮件怎么注册
  • 企业营销类专业网站app设计尺寸规范
  • 奈曼旗建设局网站建设旅游门户网站
  • 网站设计一般会遇到哪些问题wordpress文章关闭缩略图
  • 优质东莞网站制作公司thinkphp网站源码下载