`

在glassfish中部署使用Inbound JCA 1.5 (by quqi99)

 
阅读更多

在glassfish中部署使用Inbound JCA 1.5 (by quqi99)


作者:张华 发表于:2009-10-19
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
http://blog.csdn.net/quqi99

1 MDB

ejb-jar.xml文件为:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<enterprise-beans>
<message-driven>
<description>An MDB that accepts mail messages</description>
<ejb-name>MailRaMDB</ejb-name>
<ejb-class>com.bes.exmaple.jca.MailRaMDB</ejb-class>
<messaging-type>org.jboss.resource.adapter.mail.inflow.MailListener</messaging-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>mailServer</activation-config-property-name>
<activation-config-property-value>aaaaaaaa</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>mailFolder</activation-config-property-name>
<activation-config-property-value>INBOX</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>storeProtocol</activation-config-property-name>
<activation-config-property-value>pop3</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>userName</activation-config-property-name>
<activation-config-property-value>your user</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>password</activation-config-property-name>
<activation-config-property-value>your password</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>

sun-ejb-jar.xml文件为:

<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>MailRaMDB</ejb-name>
<mdb-resource-adapter>
<resource-adapter-mid>mail-ra</resource-adapter-mid>
</mdb-resource-adapter>
</ejb>
</enterprise-beans>
</sun-ejb-jar>

MDB源文件为:

package com.bes.exmaple.jca;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;

import javax.mail.Message;

import org.jboss.resource.adapter.mail.inflow.MailListener;
import javax.ejb.MessageDriven;

/**
*
*
* @version 0.10 2009-10-19
* @author Zhang Hua
*/
public @MessageDriven class MailRaMDB implements MailListener {

public void onMessage(Message msg) {
String str = "onMessage, msg=" + msg;
System.out.println(str);
String file = "c:/jca.txt";
try {
//read file
StringBuffer sb = new StringBuffer();
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
sb.append(line + "<br/>");
line = br.readLine();
}
br.close();
fr.close();

//write file
FileWriter filewriter = new FileWriter(file, true);
filewriter.write(sb.toString() + str + "<br/>");
filewriter.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
}
}

}

2 Resource adaptor

资源适配采用jboss的mail-ra.rar, 因为里面的ra.xml文件里有licence,我们用下面的ra.xml替换:

<?xml version="1.0" encoding="UTF-8"?>
<connector id="Connector_ID" version="1.5"
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/connector_1_5.xsd">
<description>JavaMail Resource Adapter</description>
<display-name>JavaMail Adapter</display-name>
<vendor-name>my company</vendor-name>
<eis-type>JavaMail Adapter</eis-type>
<resourceadapter-version>5.0</resourceadapter-version>
<resourceadapter>
<resourceadapter-class>org.jboss.resource.adapter.mail.MailResourceAdapter</resourceadapter-class>
<inbound-resourceadapter>
<messageadapter>
<messagelistener>
<messagelistener-type>org.jboss.resource.adapter.mail.inflow.MailListener</messagelistener-type>
<activationspec>
<activationspec-class>org.jboss.resource.adapter.mail.inflow.MailActivationSpec</activationspec-class>
<required-config-property>
<config-property-name>mailServer</config-property-name>
</required-config-property>
<required-config-property>
<config-property-name>mailFolder</config-property-name>
</required-config-property>
<required-config-property>
<config-property-name>storeProtocol</config-property-name>
</required-config-property>
</activationspec>
</messagelistener>
</messageadapter>
</inbound-resourceadapter>
</resourceadapter>
</connector>

同时,该适配器用了jboss自己log包,部署时应该把这些JAR包加上。 我的做法是,重新将源代码拿下来,将里面的jboss的log给去掉了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics