`
jacky.jihao
  • 浏览: 153884 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用JNDI查找JBOSS内配置好的数据源遇到的问题

阅读更多

这应该是很多J2EE新手都会碰到的问题,我在做一个J2SE中调用EntityManager学习JPA的小例子,遇到了不少异常信息

 

其中一个问题就是,运行Main程序时拿不到MySqlDS的配置,

 

google的一堆文章之后,在这篇帖子中找到的想要的答案 http://www.theserverside.com/discussions/thread.tss?thread_id=29813

 

 

总结一下就是JBoss默认将数据源绑定在本地JNDI命名空间下,所以不能从JBoss运行的JVM之外查找到改数据源,要解决这个问题就是配置JBoss将数据源绑定在全局命名空间下。

这个在dataSource的配置文件中指定,以MySql为例,就是在修改${JBOSS_HOME}/server/default/deploy/mysql-ds.xml

 

在<jndi-name>MySqlDS</jndi-name>下面一行添加 <use-java-context>false</use-java-context>

 

下面截取了JBoss此时打印出的一段日志,可以明显看到我们要的结果生效了

 

*** CONTEXTS IN ERROR: Name -> Error

persistence.unit:unitName=#HelloTitan -> javax.naming.NameNotFoundException: MySqlDS not bound


14:29:24,589 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
14:29:24,693 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
14:29:24,709 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=JBoss_5_0_0_GA date=200812042120)] Started in 1m:768ms
14:35:10,011 INFO  [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS' from JNDI name 'java:MySqlDS'
14:35:10,222 INFO  [WrapperDataSourceService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS' to JNDI name 'MySqlDS'

分享到:
评论

相关推荐

    jboss配置 jndi

    例如,你可以在不同的子命名空间下为不同的模块配置数据源,这样可以保持系统整洁并易于维护。 在实际开发中,JNDI配置的灵活性使得开发者可以根据需求定制化资源的管理和访问。理解JNDI的工作原理和配置方法,对...

    JBoss7.1.1配置MySql数据源

    一旦配置完成并重启服务器,可以编写简单的Java代码或者使用JNDI查找来测试数据源是否能正常连接到MySQL数据库。 ```java Context context = new InitialContext(); DataSource ds = (DataSource) context.lookup...

    JBoss7配置Mysql5.1数据源.pdf

    7. 遇到问题的排查方法:在配置数据源过程中,可能会遇到连接失败、性能不佳等问题。排查这类问题时,可依据JBoss日志、Mysql数据库日志或通过网络抓包工具来诊断问题。需要关注的排查点可能包括网络问题、认证失败...

    tomcat jboss数据源配置.rar

    本主题主要聚焦于"tomcat jboss数据源配置.rar",这是一个关于如何在Tomcat 5.5和JBoss 4.0中配置数据源,特别是与Oracle数据库交互的详细过程。下面将深入探讨这两个关键组件以及数据源配置的相关知识点。 首先,...

    在JBOSS 中建立mysql数据源所要添加的压缩包,具体见上一个文档说明

    现在,应用程序可以通过JNDI查找并使用配置好的数据源进行数据库操作。 总结起来,这个压缩包是为了帮助用户在JBOSS环境中配置MySQL数据源,包含的`mysql-connector-java.jar`驱动文件是连接MySQL数据库的基础。...

    jboss6 sqlserver 2000 数据库连接配置

    总之,配置JBoss 6连接SQL Server 2000需要正确安装JDBC驱动,创建和配置数据源,最后在应用中使用。理解这些步骤和相关工具,能帮助开发者高效地管理数据库连接,从而实现数据的稳定访问和操作。

    java JNDI总结

    - **配置数据源**:在服务器端(如JBoss、Tomcat等),需要配置数据源以便为应用程序提供数据库连接。这通常是在服务器的配置文件中完成的,例如`mysql-ds.xml`。 - **注册数据源**:将配置好的数据源注册到JNDI环境...

    spring-boot-jboss7:如何使用带有JNDI的数据源在JBoss AS 7上部署Spring Boot应用程序

    1. **配置JNDI数据源**:在JBoss AS 7的`standalone.xml`或`domain.xml`配置文件中,你需要创建一个JNDI数据源。例如,创建名为`java:jboss/datasources/MyDB`的数据源,设置数据库驱动、URL、用户名和密码等。 ```...

    jboss seam 架设Eclipse 中常见的错误解决.doc

    这通常是由于数据源配置不正确或者JNDI查找失败导致的。 根据提供的信息,用户在Tomcat配置中已经包含了JBoss Embedded,并且在`components.xml`和`persistence.xml`中设置了数据源。`components.xml`中定义了一个...

    JBoss程序及源码GarageSale

    在JBoss中,数据源是通过JNDI(Java命名和目录接口)查找来建立数据库连接的。配置文件如jbosscx.xml或datasources.xml需要正确设置,包括数据库驱动类名、URL、用户名和密码等信息。如果配置不正确,会导致应用程序...

    JBOSS教程(PDF)

    教程会讲解如何配置JNDI(Java Naming and Directory Interface)数据源,以及如何在EJB或Servlet中查找并使用这些数据源。 安全性是任何企业级应用的关键,因此教程还会涵盖JBoss AS的安全机制。这包括用户角色的...

    JBoss 3.0 Quick Start Guide

    JNDI 允许开发人员查找并引用其他对象,如 EJB 和数据源。 **JNDI 客户端配置** - **环境设置**:客户端应用程序需要设置正确的 JNDI 环境属性,以便能够在运行时查找 JNDI 对象。 **定制 `ejb-jar.xml` 和 `web....

    JBoss7和容器轻量化研究报告

    这些知识点对于开发人员来说是非常宝贵的资源,有助于更好地理解和利用JBoss 7.x的强大功能,同时也能帮助解决实际应用部署中遇到的具体问题。在未来的工作中,我们还可以继续探索更多关于轻量级容器的应用场景和...

    JBOSS迁移WEBSPHERE简要流程

    11. **配置数据源**:通过JNDI查找数据源,需要在调用数据源的模块(如EJB或Web)中添加资源引用配置。在`ejb-jar.xml`中定义`resource-ref`,并在`ibm-ejb-jar-bnd.xmi`中进行绑定。 以上步骤仅是迁移过程的基础,...

    jboss安装和配置[收集].pdf

    3. **数据源配置**:修改`server/default/conf/jboss-service.xml`或`server/default/conf/jboss-jdbc.xml`来配置数据源。 4. **邮件服务**:调整`server/default/deploy/jboss-mail-service.xml`以配置邮件服务。 5...

    Migrating Jboss ESB from hsql to mysql

    在Jboss的部署文件(如`.ear`或`.war`)中,找到并更新JNDI绑定,将旧的HSQLDB数据源替换为新配置的MySQL数据源。 5. **测试连接**:在迁移后,启动Jboss服务器并检查日志,确保能成功连接到MySQL数据库。运行一些...

    JBoss_Application_Server_7.1官方文档

    文档会讲述如何配置数据源、实现数据持久化,以及使用JNDI查找资源。 六、微容器与模块化 JBoss AS 7.1引入了微容器(Microcontainer)概念,实现了模块化的类加载机制。这使得服务器更加轻量级,同时提高了隔离性...

    Javax.naming.NameNotFoundException

    JNDI是一个API,它允许Java应用程序查找和操作各种类型的命名和目录服务,例如在应用服务器中查找数据源、EJB或邮件会话等资源。 在Java应用服务器,如JBoss,JNDI被广泛用于配置和服务发现。当你在JBoss中配置了一...

    jboss 简介

    JNDI允许开发者注册和查找在JBOSS环境中创建的资源,例如数据源、EJB等。配置JNDI时,开发者可以使用如`java.naming.factory.initial`、`java.naming.provider.url`等属性来指定命名上下文工厂和提供者URL。 **安全...

Global site tag (gtag.js) - Google Analytics