相关疑难解决方法(0)

Tomcat vs Weblogic JNDI Lookup

我们使用的Weblogic服务器已配置为允许JNDI数据源名称,如"appds".

对于开发(localhost),我们可能正在运行Tomcat,并且当在server.xml的<context>部分中声明时,Tomcat将在JNDI树中的"java:comp/env/jdbc/*"上挂起JNDI数据源.

问题:在Weblogic中,JNDI查找是"appds",而在Tomcat中,似乎我必须提供正式的"java:comp/env/jdbc/appds".我担心Tomcat版本是一个隐含的标准,但不幸的是,我不能改变Weblogic的配置...所以这意味着我们最终得到两个不同的spring配置文件(我们使用的是spring 2.5)来促进不同的环境.

有没有一种优雅的方式来解决这个问题.我可以直接在Tomcat中查看JNDI名称吗?Spring可以在两个地方都有名字和外观吗?谷歌搜索或建议会很棒.

java tomcat weblogic jndi java-ee

25
推荐指数
2
解决办法
5万
查看次数

JNDI路径Tomcat与Jboss

我有DataSource,它在context.xml中的T​​omcat 6上配置为MyDataSource.我正在通过以下方式获取它:

      DataSource dataSource;
            try {
                dataSource = (DataSource) new InitialContext().lookup("java:comp/env/MyDataSource");
            } catch (NamingException e) {
                throw new DaoConfigurationException(
                    "DataSource '" + url + "' is missing in JNDI.", e);
            }
Run Code Online (Sandbox Code Playgroud)

一切正常.现在我将此代码导出到Jboss AP 6.我将我的dataSource及其连接池配置为local-tx dataSource,名称相同.

当我执行上面的代码时,我收到了NamingException异常.经过一番调查后,我发现在Jboss下调用我的DataSource的正确方法是

 dataSource = (DataSource) new InitialContext().lookup("java:/MyDataSource");
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一下我为什么要在Jboss下的JNDI路径中省略"comp/env"?

java jboss tomcat jndi jdbc

15
推荐指数
1
解决办法
2万
查看次数

为不同环境外部化tomcat jdbc连接池信息

问候,

我正在寻找一个很好的解决方案,用于在war的context.xml中外化JNDI连接池信息,这样当应用程序从dev移动到QA到prod时,war文件将不需要重新编译.理想情况下,URL,驱动程序,用户名和密码将被变量化,然后通过为每个环境定制的属性文件进行填充.如果无法做到这一点,是否有其他建议如何处理跨环境的战争而不重新编译目标环境?Maven提供的配置文件需要针对特定​​环境的构建.

提前致谢.

tomcat jndi connection-pooling jdbc

2
推荐指数
1
解决办法
550
查看次数

标签 统计

jndi ×3

tomcat ×3

java ×2

jdbc ×2

connection-pooling ×1

java-ee ×1

jboss ×1

weblogic ×1