当前位置: 首页 > 面试题库 >

Glassfish上的单线程MDB

邢灿
2023-03-14
问题内容

我在Glassfish
3.1.2.2上运行了许多MDB。由于在一个MDB上工作的性质,我需要使其成为单线程。我查看了《调优指南》,虽然将最大池大小设置为1确实可以解决问题,但这也意味着所有其他MDB都是单线程的。我真正想要实现的是将特定的MDB设为单线程,而将其他MDB设为多线程。


问题答案:

这可以通过glassfish-ejb-
jar.xml
部署描述符轻松实现:

<glassfish-ejb-jar>
  <enterprise-beans>
    <ejb>
      <ejb-name>YourMDB</ejb-name>
      <bean-pool>
        <resize-quantity>1</resize-quantity>
        <max-pool-size>1</max-pool-size>
        <steady-pool-size>1</steady-pool-size>
      </bean-pool>
    </ejb>
  </enterprise-beans>
</glassfish-ejb-jar>

上一节将把处理bean的数量严格限制为1,而不管全局poolsize表示什么。这样,您可以轻松地微调系统设置。



 类似资料:
  • 我有两个非常简单的EAR文件。一个ear公开一个远程无状态ejb(称为server.ear),另一个ear是一个web模块加上一个查找远程ejb bean(client.ear)的本地ejb。通过@PostContStruct。 它们都被部署到在所有环境中运行Java7的Glassfish 3.1.2.2上的不同实例中。 它在本地机器上的容器环境中工作得非常好。我有两个不同的实例,并且能够成功地从

  • 我正在尝试找到一种方法来显式指定部署到Glassfish的Web应用程序的上下文路径3.1.2.2但到目前为止我还没有运气。有人能对此提供指导吗?背景如下: 我有一个Web应用程序,它由两个单独的Netbean(7.0)项目组成。第一个是Web服务,称为FOWS。第二个是使用FOWS网络服务的面向用户的Web应用程序。它被称为FooApp。 我最近将glassfish升级到3.1.2.2,希望解决

  • 我目前正在使用Android Room在Android上存储一些小数据。理论上,我使用allowMainThreadQueries()应该没有问题,因为我的所有数据都很小,但为了将来证明我的程序,我尝试将所有调用移动到一个单独的线程中。到目前为止,我在AppConfig中有一个静态处理程序,该类在应用程序初始启动时初始化,在应用程序范围内可见: DbHandler是一个扩展Handler的自定义类

  • 问题内容: 我想检查多线程是否比单线程快,然后在这里进行演示: 首先我用两个sum方法运行singleThreadStart,结果是 然后我运行secondThreadStart,结果是 然后我用五和方法运行singleThreadStart,结果是 最后我运行FiveThreadStart,结果是 我的问题是: SecondThreadStart比singleThreadStart花费更多的时间

  • 我想检查多线程是否比单线程快,然后我在这里做一个演示: 首先,我用二和方法运行singleThreadStart,结果是 然后我运行第二个ThreadStart,结果是 然后我用五和方法运行singleThreadStart,结果是 最后我运行fiveThreadStart,结果是 我的问题是: SecondThreadStart比singleThreadStart花费更多的时间,是因为创建线程的

  • 为什么单线程和多线程脚本具有相同的处理时间?多线程实现不是应该少1/#线程数吗?(我知道当您达到最大cpu线程时,回报会递减) 我搞砸了我的实现吗?