设为首页 收藏本站
查看: 478|回复: 0

[经验分享] JNDI(datasource)在tomcat,JBOSS下的spring+quartz配置

[复制链接]

尚未签到

发表于 2018-11-30 09:21:14 | 显示全部楼层 |阅读模式
  由于项目中多个小应用(类似插件)需要使用数据库连接池,不能为每一个应用中配置连接池。故采用JNDI的模式进行配置。
  我们使用的web服务器有tomcat和jboss两种。分别介绍其在这两种服务器下并且在两种应用模式spring+hebernat与quartz下的配置。
  tomcat下:
  1)在tomcat 6.0下配置JNDI及在Spring中的使用 (引用1)已经详细介绍了其往spring应用中添加的详细过程。(引用3)
  2)quartz中添加tomcat jndi datasource很简单,只需要调用org.quartz.dataSource.myDS.jndiURL设置即可。
  3)tomcat下quartz中出现 not bound in context的问题是要写完整的jndi名字。必须加上“java:comp/env/XXX“,查看intialcontext源代码可知,与spring中名字格式保持一致即可。markmail网站上可以搜到很多这种问题的解决方案(引用2)。
  4)(这一点我也不知道为什么。)有时我的jndi名字就是不能绑定下来,但是当我把名字尽量缩短就不会出现问题。测试许多次都出现不知道何原因。我的命名是”jndi/abcd“。
  5)我尝试将我的tomcat6.0添加admin模块(引用5),并使用其添加jndi服务,但是不成功。未曾找到admin配置jndi修改的文件,明显不是引用1,3中的config目录下的context文件。
  jboss下:
  1)jboss下部署配置spring jndi(引用4)详细介绍jboss下的spring配置。
  2)quartz类似tomcat。
  3)我曾经尝试在spring中配置使用跨jvm的jndi的datasource,进行远程调用。
  注意使用false可以进行跨jvm调用(引用6)。但是在spring直接进行bean配置会出现问题javax.naming.Resource  javax.sql.DataSource typemismatch。需要手写一个bean进行这种转换(强制转换),可以参考引用6中的例子。(引用7)但是,这里有一点提醒:Using Datasources from remote is not recommended and might lead into trouble easily because the app server looses control over the connections. Be warned!Once the maximum connection in the pool are reached no other connections can be obtained. For the reason that the server does not manage the connections anymore, he is not aware that you close the connection.考虑到实际情况,最终我放弃了跨JVM的jndi的调用。
  --------------------------------------------
  现在JNDI工作正常,要进行观察,适当调整参数,优化服务器性能。
  --------------------------------------------------
  引用1:在tomcat 6.0下配置JNDI及在Spring中的使用 http://karidyang.javaeye.com/blog/216125
  引用2:markmail网站
  http://markmail.org/search/?q=quartz+tomcat+jndi
  引用3:tomcat+jndi+spring配置
  http://apps.hi.baidu.com/share/detail/31393331
  引用4:jboss下部署配置spring jndi
  http://www.blogjava.net/sxyx2008/archive/2010/09/08/331382.html
  引用5:apache-tomcat-6.0.18下配置Tomcat Administration Web Application Tool
  http://hi.baidu.com/%B9%C2%B6%C0%5F%CE%E8%D5%DF/blog/item/33c11703785902713812bb49.html
  引用6:Access JBoss DataSource Remotely from Java Applications
  http://javahowto.blogspot.com/2006/08/access-jboss-datasource-remotely-from.html
  引用7:Using JBoss DataSource from standalone client
  http://forum.springsource.org/showthread.php?16076-Using-JBoss-DataSource-from-standalone-client




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641420-1-1.html 上篇帖子: zabbix自动发现监控tomcat健康页面 下篇帖子: Tomcat7 session同步集群搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表