linux部署hsql log4j,jboss-4.0.2下部署Duke's bank出现数据库连接的错误(内详),捆饶了我很久了,希望斑竹能帮忙看一看...

版本jboss-4.0.2,

1、编译duke bank如下

ant -f jboss-build.xml package-ejb

prepare:

compile:

[javac] Compiling 63 source files to F:\j2eetutorial14\examples\bank\build

[jrc] Compiling 2 report design files.

[jrc] log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).

[jrc] log4j:WARN Please initialize the log4j system properly.

[jrc] File : F:\j2eetutorial14\examples\bank\web\reports\BankStatementReport.jrxml ... OK.

[jrc] File : F:\j2eetutorial14\examples\bank\web\reports\AccountHistoryReport.jrxml ... OK.

2、使用BMP方式,数据库采用自带的HSQL,修改hsqldb-ds.xml三处:

注释掉jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB

增加 jdbc:hsqldb:hsql://localhost:1701

注释掉

name="jboss:service=Hypersonic,database=localDB">

localDB

true

增加

name="jboss:service=Hypersonic">

1701

true

default

false

true

注释掉DefaultDS

增加 jdbc/BankDB

3、启动jboss,只出现一个error

15:46:50,859 ERROR [URLDeploymentScanner] Incomplete Deployment listing:

--- MBeans waiting for other MBeans ---

............

............

............

ObjectName: jboss:database=localDB,service=Hypersonic

State: NOTYETINSTALLED

Depends On Me:

jboss.jca:name=jdbc/BankDB,service=ManagedConnectionFactory

15:46:51,078 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080

15:46:51,343 INFO [ChannelSocket] JK: ajp13 listening on /0.0.0.0:8009

15:46:51,375 INFO [JkMain] Jk running ID=0 time=0/63 config=null

15:46:51,390 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 21s:500ms

5、跑数据库教本没出现错误

F而且,从jmx-cosole中startDatabaseManager可以看到已经存在的数据表,用SQL语句也可以读出数据

6、部署JBossDukesBank.ear没有出现error

7、打开http://localhost:8080/bank/main,用200/j2ee登陆出现错误:

6:03:50,703 INFO [STDOUT] Debug: Creating bean manager.

6:03:51,281 INFO [STDOUT] Debug: CustomerControllerBean ejbCreate

6:03:51,328 INFO [STDOUT] Debug: AccountControllerBean ejbCreate

6:03:51,359 INFO [STDOUT] Debug: TxControllerBean ejbCreate

6:03:51,390 INFO [STDOUT] Debug: /main

6:03:51,406 INFO [STDOUT] Debug: Forwarding to template.

6:03:53,812 INFO [STDOUT] Debug: AccountControllerBean getAccountsOfCustomer

6:03:53,890 INFO [STDOUT] Debug: AccountBean setEntityContext

6:03:53,890 INFO [STDOUT] Debug: AccountBean ejbFindByCustomerId

6:03:53,890 INFO [STDOUT] Debug: AccountBean selectByCustomerId

6:03:53,890 INFO [STDOUT] Debug: AccountBean makeConnection

6:03:53,890 INFO [STDOUT] Debug: AccountBean unsetEntityContext

6:03:53,906 ERROR [LogInterceptor] EJBException in method: public abstract java.util.Collection com.sun.ebank.ejb.account.Acc

untHome.findByCustomerId(java.lang.String) throws javax.ejb.FinderException:

avax.ejb.EJBException: ejbFindByCustomerId Unable to connect to database. Could not dereference object

at com.sun.ebank.ejb.account.AccountBean.ejbFindByCustomerId(AccountBean.java:181)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at org.jboss.ejb.plugins.BMPPersistenceManager.callFinderMethod(BMPPersistenceManager.java:615)

at org.jboss.ejb.plugins.BMPPersistenceManager.findEntities(BMPPersistenceManager.java:320)

at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:321)

.........

........

(错误是Unable to connect to database,源程序没有动过,连接数据库的为public static final String BANK_DATABASE = "java:comp/env/jdbc/BankDB";

我在hsqlds-ds中也将jndi-name改为jdbc/BankDB,为什么还是连接不上数据库。苦恼了很长时间,想必是自己那里配置的不对,劳驾高手指点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TR069 Openacs服务器搭建 目录 一、安装JDK 3 二、安装MySQL数据库及驱动 5 三、JBOSS服务器 13 四、在ANT下编译ACS源码 16 五、在JBOSS部署编译后的openacs项目 19 六、OPENACS操作简要手册 22 1 、CPE的设置 22 2 、Openacs的基本设置 22 3、openacs脚本的使用(注意更改IP) 24 一、安装JDK 并且设置好环境变量 这里必须设置的有两个环境变量: 1. JAVA_HOME: C:\Program Files\Java\jdk1.6.0_25 (JDK的安装目录) 2. Path:C:\Program Files\Java\jdk1.6.0_25\bin (设置了Path,才能使用java和javac) 设置完两个环境变量,在cmd中用Java和javac两个命令检查是否有效 说明: JAVA_HOME 指明JDK安装路径,就是刚才安装时所选择的路径(假设安装在D:\jdk1.4),此路径下 包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,Eclipse等都需 要依靠此变量)。 Path 使得系统可以在任何路径下识别java命令,设为: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CLASSPATH 为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;%JAVA_HOME%\lib;%JA VA_HOME%\lib\tools.jar (要加.表示当前路径) 二、安装MySQL数据库及驱动 MySQL数据库安装前必须有.NAT framework的支持,安装.NAT framework4.0之前需要装一个WIC(如果安装需要会有提示,电脑上已安装可跳过) 安装了WIC再安装.NET framework4.0(一共需要有framework 2.0和4.0两个,先装2.0版本再装4.0,如果只有4.0,用framework clean up工具清理后再装) 安装完成后就可以安装MySQL了! 选择custom安装到指定路径 下面会进入设置向导 这里是设置管理员密码,用户名是root,密码也设置为root (这里的用户名密码对应后文的openacs-ds.xml中的参数设置) 到目前为止,JDK和MYSQL数据库都装好了。 现在数据库装好了,需要将MySQLJDBC驱动拷贝到JBOSS服务器的相应目录下,使得JB OSS可以在部署的项目中连接数据库: 将mysql-connector-java-5.1.18-bin.jar复制到C:\ Program File\jboss- 4.2.2.GA\server\default\lib目录下。 数据库用户设置 创建数据库时默认的为root用户,拥有最高权限,可以直接使用root用户,也可以新建 ,新建参考如下: 进入数据库,创建数据库ACS,并修改访问权限,如下所示: CREATE DATABASE ACS; //新建名为ACS的数据库 Use ACS; GRANT ALL ON ACS.* TO openacs IDENTIFIED BY 'openacs'; //红色部分依次表示:ACS数据库的所有表、用户名、用户密码,对一个用户对相应表的 权限,ALL表示所有权限。 例: // mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令'; mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by '123 ; 至此数据库和驱动安装完成。 三、JBOSS服务器 说明:JBOSS服务器可以直接解压即可(当前放在C盘Program File目录,最好放在此目录,其他目录需要修改ACS下的多个配置文件) ************//如果不放在C盘,编译时会出现如下错误:************************* * **************************************************************************** *** 1、首先设置JBOSS环境变量:新建JBOSS_HOME,值为jboss顶层目录 2、JBOSS_HOME设置完成后,需要将%JBOSS_HOME%\bin;添加的PATH中; JBOSS服务器开启: 在目录JBOSS根目录 下新增StartJBoss.bat 运行StartJ

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值