如何在WebLogic服务器上两次部署EAR应用程序?

时间:2014-03-27 17:16:02

标签: java deployment ejb weblogic ear

为了在单个WebLogic服务器上两次部署相同的EAR应用程序,我需要做些什么?

我在申请中的内容:

  • EJB层(EJB 2.0)
  • WEB层(Struts,jsp)
  • 记录层(log4j)
  • 数据库层(Oracle,在WLS中创建的数据源)
  • WLS 10.3.0

我需要什么:

  • WLS上相同应用程序的两个实例(每个应用程序的唯一URL(上下文根)),每个实例应使用其他数据源,并且应具有不同的配置

我的问题是什么?我不知道在实现目标的过程中我需要更改哪些内容:

  • 应用程序的配置基于许多属性文件,这些文件位于一个目录中,该目录被添加到WLS类路径中(它们不在EAR文件中)
  • 许多类都是静态的(类中的所有方法都是静态的)
  • 每个类中的静态记录器实例
  • JNDI对象怎么样 - 我应该为数据源,会话/实体bean等设置不同的名称吗?
  • jsp文件中的上下文根和超链接怎么样?

修改

我需要有两个不同的EAR文件,这些文件具有唯一的名称和独特的上下文根。每个应用程序都将连接到唯一的数据源,并具有独特的配置。

我对应用程序的更改有一些疑问:

  • 我的课程中的静态方法怎么样? WLS文档说每个应用程序都有自己的类加载器层次结构。我应该害怕冲突吗?我在客户端部分和服务器(EJB)部分都有静态。
  • EJB名称怎么样?每个应用程序应该有唯一的名称吗?我应该害怕JNDI树中的冲突吗?我使用lookup方法。
  • 我的课程中的静态记录器怎么样?我可以在prefer-application-packages中使用weblogic-application.xml代码来避免冲突吗?

真的感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我遇到同样的问题,首先要做的是在application.xml和/或weblogic.xml文件中定义新的上下文根。

根据这个答案:https://stackoverflow.com/a/9869744/3841109您还必须更改持久性单位名称。

如果我成功解决了我的问题,我会重新发布其他信息......

最好的问候。