Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在OpenShift中访问Context.xml邮件资源时出现问题_Java_Spring Mvc_Openshift_Jakarta Mail - Fatal编程技术网

Java 在OpenShift中访问Context.xml邮件资源时出现问题

Java 在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

请帮忙, 我在OpenShift上有一个JavaSpringMVC应用程序(Tomcat7),它试图在Context.xml中使用资源查找。当它试图创建session
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>