【问题标题】:GlassFish clustering + EJB lookupGlassFish 集群 + EJB 查找
【发布时间】:2013-01-23 04:52:47
【问题描述】:

我们有 Glassfish 集群,它有两个实例。

在这个集群上,我的 EJB 应用程序已部署并正在运行。

现在我有另一个 EJB-Timer-应用程序,我想将其部署在 Glassfish 服务器(域)而不是集群上,然后我想访问集群的 EJB。据我了解,EJB 计时器无法部署在集群上,因为它可以在集群的两个实例上运行。

有哪些可能的访问方式?

谢谢

【问题讨论】:

    标签: glassfish-3 ejb-3.1


    【解决方案1】:

    您实际上可以在集群上部署 EJB 计时器。它们只会在一个实例上执行。在启动时,每个@Scheduled bean 都以循环方式分配给一个实例。如果一个实例发生故障,计时器将故障转移到下一个健康的实例。

    请记住遵循此处所述的 EJB 计时器设置过程:http://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html。简而言之,您需要为计时器数据库指定一个 XA 数据源,而不是使用默认的嵌入式数据源。

    我们在 Glassfish 集群生产环境中运行多个 @Scheduled bean。

    【讨论】:

    • 在 Glassfish 集群环境中查找 EJB 时,我遇到了查找问题,但相同的代码在独立实例中运行良好。我需要更改 jndi.properties 文件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多