【问题标题】:Deploying jPOS in jboss or Start jPOS Q2 in jboss在 jboss 中部署 jPOS 或在 jboss 中启动 jPOS Q2
【发布时间】:2019-01-22 13:43:42
【问题描述】:



在 jboss 中部署 jPOS 或在 jboss 中启动 jPOS Q2。即启动 jPOS 服务器作为 jboss 应用服务器的内部功能(现在是 wildfly)

【问题讨论】:

    标签: jpos


    【解决方案1】:

    在 jboss 中启动 jpos Q2 的分步过程

    创建一个名为 q2mbean-1.0.sar 的 .sar 文件来启动队列。

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

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

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

    SAR 创建:

    创建的 .sar 文件应包含名为 Q2Service.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.sar\META-INF\ jboss-service.xml 中创建名为 (jboss-service.xml) 的 xml 文件。

    xml 表示 sar 的类路径:

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <service>
    
    <mbean code="org.jpos.mbean.Q2Service" name="Q2:name=Q2Service">
    
    </mbean>
    
    </service>
    

    耳朵创作:

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

    以同样的方式创建另一个 xml 文件,即 jposQ.ear\META-INF\jboss-app.xml 中的 jboss-app.xml

    应用程序.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 中的 deploy 文件夹放在 jboss-x.x.x/bin/q2/deploy 将日志文件夹和文件放在jboss-x.x.x/bin/log中

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多