基本环境:JBOSS-5.1.0GA
JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。可去JBOSS官网下载最新的JBOSS服务器。下面开始介绍JBOSS发布数据源,并通过Java代码测试
第一步:启动JBOSS
我们安装了JDK后,将下载下来的JBOSS解压,打开解压后的jboss目录,在bin目录下点击jbosssvc.exe启动JBOSS,但是发现JBOSS报异常,不能正常启动,异常为:
Deployment "AttachmentStore" is in error due to: java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]
JBOSS部署"AttachmentStore"依赖java.io.File,但却没有传入java.io.File
解决方法:在jboss解压后文件里面找到server\default\conf\bootstrap\profile.xml将名称为AttachmentStore的bean修改为:
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
<constructor><parameter class="java.io.File"><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
<property name="mainDeployer"><inject bean="MainDeployer" /></property>
<property name="serializer"><inject bean="AttachmentsSerializer" /></property>
<property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
</bean>
再次启动JBOSS,启动正常。
第二步:发布数据源
我使用的数据库是MySQL,
1、首先将mysql的驱动jar文件拷贝到jboss解压文件后server\default\lib目录里面,
2、在docs\examples\jca找到mysql-ds.xml将该文件拷贝到server\default\deploy目录下面
3、打开mysql-ds.xml可以看到数据的链接配置,根据自己的数据库修改好配置,下面是我自己的配置,大家可以根据自己的数据库,具体进行修改
<local-tx-datasource>
<jndi-name>MySqlDataSource</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:mysql://localhost:3306/localserver</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>sa123</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
配置好后,启动Jboss,打开浏览器,访问http://localhost:8080/jmx-console/,在页面左侧点击jboss.jca,右侧可查看到
name=MySqlDataSource,service=DataSourceBinding
name=MySqlDataSource,service=LocalTxCM
name=MySqlDataSource,service=ManagedConnectionFactory
name=MySqlDataSource,service=ManagedConnectionPool
说明MySQL数据源发布成功
第三步:通过Java代码测试数据源
打开eclipse新建一个Java项目,将JBOSS解压后目录下的client文件夹里面所有的jar包引入项目,引入junit测试包,新建一个jndi.properties文件,配置JBOSS JNDI的URL和factory如下:
java.naming.provider.url=jnp://localhost
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
新建测试类,
public class TestDataSource {
@Test
public void getDataSource() throws NamingException, SQLException{
//jndi上下文
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("MySqlDataSource");
Connection connection = ds.getConnection();
PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM user WHERE user_id = 1");
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt(1));
}
}
}
启动Jboss,执行测试,发现数据源不能拿到的,但是我们的数据源是发布成功的,查找资料后发现需要在发布的数据源mysql-ds.xml里面加上<use-java-context>false</use-java-context>
然后执行测试,测试可通过,到此JBOSS发布JNDI数据源成功
分享到:
相关推荐
jboss 配置jndi数据源,deploy下配置oracle-ds.xml
本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,确保应用程序能够高效、稳定地访问数据库资源。 ### JBoss与JNDI的关联 JBoss作为一个高性能的Java应用服务器,提供了丰富的功能支持企业级应用开发。JNDI作为...
以下是对JNDI数据源配置的详细步骤和相关知识点的解析: 1. **理解JNDI** JNDI是一个Java API,它提供了一组接口和类,使得Java应用程序能够查找和访问分布式环境中的资源,如目录服务、邮件服务器、数据源等。在...
在JBoss中,JNDI通常用于查找数据源、EJBs、邮件会话等服务。 配置JNDI主要涉及以下几个步骤: 1. **创建JNDI名称**:首先,你需要为你的资源定义一个唯一的JNDI名称。例如,你可以为数据源定义名为"java:jboss/...
总结,JBoss与MySQL的JNDI整合涉及JBoss的配置文件修改、MySQL驱动的管理以及Java代码中对JNDI数据源的使用。理解并熟练掌握这些步骤,能够帮助开发者高效地在JBoss环境中部署和管理使用MySQL数据库的应用程序。
在Java EE环境中,数据源通常由应用服务器提供,如Tomcat、WebLogic、JBOSS等,它们预先配置好并注册到JNDI上下文中,供应用通过JNDI查找使用。 3. **配置数据源** 在不同的应用服务器中,配置数据源的方法略有...
jboss配置数据源 jboss配置数据源是指在jboss服务器上配置oracle数据库的数据源,以便在jboss应用程序中使用oracle数据库。下面是jboss配置数据源的详细步骤: 首先,需要将oracle的JDBC驱动程序复制到ClassPath下...
数据源在JNDI中注册后,EJB或JPA可以通过JNDI查找机制来获取数据库连接,执行SQL语句,进行数据的读写操作。 这三者结合,为EJB+JPA的应用提供了完整的环境配置:"jboss-web.xml"定义了Web应用与EJB的交互方式,...
在JBoss中配置MySQL数据源是开发Java EE应用程序时的重要步骤,这允许应用与数据库进行交互。下面将详细介绍如何在JBoss 7.1.1中配置MySQL数据源。 首先,我们需要准备MySQL数据库的相关信息,包括数据库URL、...
* jndi-name:修改为 OracleDS,以便在 JBoss 中识别该数据源。 * connection-url:修改为 jdbc:oracle:thin:@localhost:1521:orcl,以连接到本地的 Oracle 数据库。 * driver-class:修改为 oracle.jdbc.driver....
1. 修改`standalone.xml`配置文件:在JBoss的配置文件中,我们需要定义一个JNDI数据源,以便应用可以通过这个名字查找并连接数据库。在`standalone.xml`的`subsystem`部分添加以下配置: ```xml ...
总之,配置Tomcat和JBoss的数据源是一项关键任务,涉及对JNDI、数据库驱动、连接池管理和MBean的理解。通过合理配置,可以有效地管理数据库连接,提高系统的可扩展性和可靠性。提供的压缩包文件"jboss4.0 配置.txt...
通常,在Web应用程序中,数据源常常通过Java Naming and Directory Interface (JNDI)进行管理,这允许多个应用共享同一个数据源,例如在应用服务器如Tomcat、JBoss或WebLogic中。然而,有时我们可能希望在非Web环境...
- 配置JBoss的数据源JNDI名称。 - 在JBoss配置文件中添加数据库连接驱动信息。 - 设置数据库连接信息,包括URL、用户名和密码。 - 配置数据库连接池参数,如最大连接数、最小连接数、连接的最大空闲时间等。 - ...
2. 在 weblogic 或 jboss 等应用服务器中配置 JNDI 数据源,然后在 Spring 配置文件中使用 JndiObjectFactoryBean 来引入数据源:<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">.....
7. **部署和启动**:最后,将配置好的数据源文件部署到JBoss服务器,并启动服务器,应用程序就可以通过JNDI查找并使用这个数据源来访问Oracle9i数据库了。 以上就是JBoss中配置Oracle9i数据源的基本流程。实际操作...
在EJB 3.0规范中,数据源的配置是必不可少的一部分,尤其是在像JBOSS这样的应用服务器中。本文将深入探讨如何在JBOSS中配置EJB 3.0的数据源。 首先,我们需要理解JBOSS的数据源概念。数据源是JNDI(Java Naming and...
- `<jndi-name>`: 数据源的JNDI名称。 - `<connection-url>`: 连接到数据库的URL地址。 - `<driver-class>`: 数据库驱动类。 - `<user-name>`: 登录数据库的用户名。 - `<password>`: 密码。 当进行了密码加密处理...
1. **创建数据源**:在JBoss中,数据源通常通过JNDI名称提供给应用程序。例如,我们可以创建一个名为`java:jboss/datasources/MySQLDS`的数据源。配置文件通常位于`$JBOSS_HOME/server/default/deploy/jboss-web.sar...