在 jboss 中部署 jPOS 或在 jboss 中启动 jPOS Q2

Deploying jPOS in jboss or Start jPOS Q2 in jboss



正在 jboss 部署 jPOS 或在 jboss 启动 jPOS Q2。即启动 jPOS 服务器作为 jboss 应用程序服务器(现在是 wildfly)

的内部功能

在 jboss

开始 jpos Q2 的分步流程

创建一个名为 q2mbean-1 的 .sar 文件。0.sar 以启动队列。

将创建的.sar文件放入.ear文件中(jposQ.ear)。

因此现在的路径是jposQ.ear/Q2mbean-1.0.sar.

将.ear文件放在jboss的deploy目录下。

创建 SAR:

创建的 .sar 文件应包含名为 Q2Service.class 的 class 文件 因此 Q2Service.class 文件应该在 q2mbean-1.0.sar\org\jpos\mbean 下面给出的目录中。 Q2Service.java 是

> package org.jpos.mbean;
> 
> import javax.management.*; import org.jboss.logging.Logger; import
> org.jboss.system.ServiceMBeanSupport; import org.jpos.q2.Q2;
> 
> // Referenced classes of package org.jpos.mbean: //           
> Q2ServiceMBean
> 
> public class Q2Service extends ServiceMBeanSupport implements
> Q2ServiceMBean, Runnable {
> 
>     public Q2Service()
>     {
>         q2Server = null;
>     }
> 
>     protected void startService()
>     throws Exception
>     {
>         super.startService();
>         super.log.info("Q2Service starting");
>         String deployPath[] = {
>                 "-d", "q2/deploy"
>         };
>         q2Server = new Q2(deployPath);
>         (new Thread(this)).start();
>     }
> 
>     public void run()
>     {
>         try
>         {
>             q2Server.start();
>         }
>         catch(MalformedObjectNameException e) { e.printStackTrace();  }
>         catch(InstanceAlreadyExistsException e) { e.printStackTrace();  }
>         catch(NotCompliantMBeanException e) {  e.printStackTrace();  }
>         catch(MBeanRegistrationException e) {  e.printStackTrace(); } 
>      }
>     protected void stopService()
>     throws Exception
>     {
>         super.stopService();
>         super.log.info("Q2Service stopping");
>         q2Server.shutdown();
>     }
>     private Q2 q2Server; }

.sar 文件也有一个名为 Q2ServiceMBean.class 的接口。 Q2ServiceMBean.java 是

package org.jpos.mbean;

import org.jboss.system.ServiceMBean;

public interface Q2ServiceMBean extends ServiceMBean
{

}

应该在目录 q2mbean-1.0 中创建名为 (jboss-service.xml) 的 xml 文件。sar\META-INF\ jboss-service.xml.

xml 表示 sar 的 class 路径:

<?xml version="1.0" encoding="UTF-8" ?>

<service>

<mbean code="org.jpos.mbean.Q2Service" name="Q2:name=Q2Service">

</mbean>

</service>

耳朵创作:

你的 Ear 应该以一个名为 application.xml 的 xml 文件开始,它应该在 jposQ.ear\META-INF\application.xml

以同样的方式应该创建另一个 xml 文件,它是 jposQ.ear\META-INF\jboss-app.xml[=17 中的 jboss-app.xml =]

application.xml:

<?xml version="1.0" encoding="UTF-8" ?>

<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4"> 

<display-name>JBossAtWorkEAR</display-name> 


       <module>   

          <java>jpos.jar</java>

</module>
</application> 

jboss-app.xml

<?xml version="1.0" encoding="UTF-8" ?>

<jboss-app>

<loader-repository>myapp:archive=jposQ.ear</loader-repository>

<module>

  <service>q2mbean-1.0.sar</service>

</module>

</jboss-app>

然后 Ear 文件应该有以下文件 q2mbean-1.0.sar,jpos.jar 包括从 jpos 到 ear 的 lib 目录。 将 jpos 中的部署文件夹放在 jboss-x.x.x/bin/q2/deploy 中 将日志文件夹和文件放在jboss-x.x.x/bin/log

在此处查找 sar 文件:http://jpos.org/download/q2mbean-1.0.sar