Java 在OpenShift中访问Context.xml邮件资源时出现问题
请帮忙, 我在OpenShift上有一个JavaSpringMVC应用程序(Tomcat7),它试图在Context.xml中使用资源查找。当它试图创建sessionJava 在OpenShift中访问Context.xml邮件资源时出现问题,java,spring-mvc,openshift,jakarta-mail,Java,Spring Mvc,Openshift,Jakarta Mail,请帮忙, 我在OpenShift上有一个JavaSpringMVC应用程序(Tomcat7),它试图在Context.xml中使用资源查找。当它试图创建sessionsession=(session)envContext.lookup(“邮件/会话”)时,我不断收到500个错误(参见下面的代码)。app root/logs/jbossews.log,e.printStackTrace()中的日志中没有异常不打印catch块中的任何内容。异常是否会记录在其他地方?我习惯于在apache/tomca
session=(session)envContext.lookup(“邮件/会话”)时,我不断收到500个错误代码>(参见下面的代码)。app root/logs/jbossews.log,e.printStackTrace()中的日志中没有异常代码>不打印catch块中的任何内容。异常是否会记录在其他地方?我习惯于在apache/tomcat中使用access.log和error.log,jbossews.log不会告诉我任何事情(仅供参考,我没有使用RHC工具,我只是通过ssh跟踪日志)
我的项目在eclipse中的本地系统上运行良好,没有任何问题。
请帮忙,
谢谢
这是我的资源,位于jbossews/conf/context.xml中
<Resource
name="mail/Session"
type="javax.mail.Session"
auth="Container"
mail.smtp.host="smtp.gmail.com"
mail.smtp.socketFactory.port="465"
mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
mail.smtp.auth="true"
mail.smtp.port="465"
mail.from="XXXXXX@mailserver.com"
mail.user="XXXXXX@mailserver.com"
password="XXXXXX"
/>
我尝试将以下内容添加到我的web.xml中,以查看这是否能解决问题(但没有)
对javax.mail.Session实例工厂的资源引用,该实例可用于发送电子邮件,已预配置为连接到适当的SMTP服务器。
邮件/会话
javax.mail.Session
容器
发现我的问题是由于pom.xml中的一个问题(毕竟与访问Context.xml无关)。令人烦恼的是,jbossews.log中没有记录异常,所以我必须通过Exception Exception=(Exception)httpRequest.getAttribute(“javax.servlet.error.Exception”)显式记录它们;
异常。printStackTrace();(httpRequest是HttpServletRequest对象)
我的pom.xml中的问题是,我尝试使用:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.1</version>
<scope>provided</scope>
</dependency>
javax.mail
javax.mail-api
1.5.1
假如
使用以下依赖项解决了这个问题
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.2</version>
</dependency>
com.sun.mail
javax.mail
1.5.2
注意:为了让Context.xml“mail/Session”资源在OpenShift上工作,我必须在src/main/webapp/WEB-INF/中创建一个lib文件夹,并将javax.mail-api.jar放入其中
希望这能帮助其他遇到问题的人 与你的问题无关,但请注意你。谢谢比尔,我会调查的。似乎没有人有任何建议:(你可能在JBoss论坛或邮件列表上运气更好,或者如果你在这篇文章中添加JBoss标记。看起来你至少需要gmail的套接字工厂。从我的本地主机只能使用套接字工厂。你是否将mail.smtp.ssl.enable
设置为true
?
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.2</version>
</dependency>