WEB-INF直下にglassfish-resources.xmlを置いて、
MailSessionを@Resourceアノテーションで読み込もうとしているのですが、
うまくいきません。
Beanの生成時?に例外が発生しており、リソースがJNDI名で見つけられていないようです。
やり方に間違いがありましたら、ご教授頂けませんでしょうか?
glassfish-resources.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd"> <resources> <mail-resource debug="false" enabled="true" from="foo@bar.com" host="localhost" jndi-name="mail/MySession" object-type="user" store-protocol="imap" store-protocol-class="com.sun.mail.imap.IMAPStore" transport-protocol="smtp" transport-protocol-class="com.sun.mail.smtp.SMTPTransport" user="userXXX"> <description>Emailer</description> </mail-resource> </resources>
sampleBean
@Named @SessionScoped public class sampleBean implements Serializable { @Resource(name = "mail/MySession") private Session session; // NameNotFoundException ... public void XXX() { MimeMessage objMsg = new MimeMessage(session); }
エラーログ
javax.naming.NameNotFoundException: mail at com.sun.enterprise.naming.impl.TransientContext.resolveContext(TransientContext.java:299) at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:207) ...
ちなみに管理コンソールからMailSessionを設定すると
取得できました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/11/04 03:43