第26章:连接器 / 26.4. MySQL Connector/MXJ / 26.4.9. 部署在标准的JMX代理环境下 (JBoss)

一旦确定Mbean能够在平台上工作,接下来应在标准的JMX代理内部署Mbean。其中包含部署到Jboss的说明。

1.    确保有最新版本的java开发工具箱(v1.4.x),请参见前面的介绍。

·         确保设置JAVA_HOME(Jboss要求JAVA_HOME)。

·         确保JAVA_HOME/bin位于PATH中(不需要设置CLASSPATH,也不需要以前测试中使用的任何jar文件)。

2.      确保安装了Jboss的最新版本(v4.0RC1或更高)。

3.             http://www.jboss.org/index.html
4.             选择“Downloads”。
5.             选择“jboss-4.0.zip”。
6.             选择1个镜像。
7.             unzip ~/dload/jboss-4.0.zip
8.             创建JBOSS_HOME环境变量,设置解包目录。
9.             仅对Unix:
10.       cd $JBOSS_HOME/bin
11.       chmod +x *.sh

12.connector-mxj.jar安装(拷贝)到$JBOSS_HOME/server/default/lib

13.mysql-connector-java-3.1.4-beta-bin.jar安装(拷贝)到$JBOSS_HOME/server/default/lib

14.$JBOSS_HOME/server/default/deploy下创建mxjtest.war目录。

15.  index.jsp安装(拷贝)到$JBOSS_HOME/server/default/deploy/mxjtest.war。

16.$JBOSS_HOME/server/default/deploy下创建mysqld-service.xml文件

17.       <?xml version="1.0" encoding="UTF-8"?>
18.        <server>
19.         <mbean code="com.mysql.management.jmx.jboss.JBossMysqldDynamicMBean"
20.            name="mysql:type=service,name=mysqld">
21.         <attribute name="datadir">/tmp/xxx_data_xxx</attribute>
22.         <attribute name="autostart">true</attribute>
23.         </mbean>
24.        </server>
     

25.启动jboss:

·         在Unix上:$JBOSS_HOME/bin/run.sh

·         在Windows上:%JBOSS_HOME%\bin\run.bat

准备就绪:Jboss在屏幕上显示大量输出。

26.  当Jboss看上去停止将信息输出到屏幕上时,打开Web浏览器:http://localhost:8080/jmx-console

27.滚动到mysql部分页面底部,选择bulleted mysqld链接。

28.观察JMX MBean View页面。MySQL应已运行。

29.  (如果设置了“autostart=true”可跳过该步)。滚动到屏幕底部。按Invoke按钮停止(或启动)MySQL,观察已成功完成而且无返回值的操作。点击“Back to MBean View”(返回Mbean视图)

30.  要想确定MySQL是否正在运行,打开Web浏览器http://localhost:8080/mxjtest/,应看到:

SELECT 1

returned with a result of

1

31.按照$JBOSS_HOME/server/default/deploy/mxjtest.war/index.jsp中的介绍,能够在你的Web应用程序中使用MySQL。其中提供了供测试用的测试数据库和根用户(无密码)。创建表,插入一些行,并进行一些选择。

32.  关闭MySQL。停止Jboss时,MySQL将自动停止,或:在浏览器中,滚动到MBean View底部,并按停止服务Invoke按钮中止服务。观察已成功完成而且无返回值的操作。使用ps或任务管理器查看MySQL是否已不再运行。

对于1.0.6-beta版,能够在启动时让Mbean启动MySQL数据库。此外,我们还借鉴了Jboss生命周期扩展方法的优点,关闭Jboss时能优雅地关闭数据库。