mybatis-log4j邮件发送错误日志的异常

问题描述

log4j邮件发送错误日志的异常

spring+mybatis的框架下,通过log4j的org.apache.log4j.net.SMTPAppender配置,来实现
通过邮件发送错误日志的,但是遇到异常如下:
java.lang.UnsupportedOperationException: Manual close is not allowed over a Spring managed SqlSession
at org.mybatis.spring.SqlSessionTemplate.close(SqlSessionTemplate.java:310)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:350)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:273)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:900)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:907)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:908)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5035)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5687)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

从异常可以看出因为调用了org.mybatis.spring.SqlSessionTemplate.close方法导致了这个异常,求解决方法
================================================
已解决,最后的原因居然是因为mail.jar和activation.jar这两个包没有成功引入的原因。。。。。。。。。

解决方案

http://www.tuicool.com/articles/aqEN3u

解决方案二:

java.lang.UnsupportedOperationException: Manual close is not allowed over a Spring managed SqlSession
这一看就是你手动数据源关了,看看哪里是不是取得数据源关了它的!

解决方案三:

http://songjianyong.iteye.com/blog/2072930

时间: 2024-10-02 12:00:24

mybatis-log4j邮件发送错误日志的异常的相关文章

邮件发送错误

问题描述 这是异常信息:System.Net.Mail.SmtpException:语法错误,无法识别命令.服务器响应为:Mailsenderisdifferentwithauthidentifier代码使用其他的smtp服务器发邮件时正常,但是使用新网的企业邮局就报这个错误.请问这是什么错?怎么解决? 解决方案 解决方案二:单步调试一下!!应该和你的邮件服务器有关系!!解决方案三:@yagebu1983"单步调试一下!!应该和你的邮件服务器有关系!!"你这句话等于没说解决方案四:Pa

log4j perl 错误日志提取

日志 #!/bin/perl use Encode ; open(NOTESFILES,$ARGV[0]); my %errorMeganotes; print ">>>>>>>>>>>>>>",$ ARGV[0],"<<<<<<<<<<\n"; while (<NOTESFILES>) { if( $_=~/^

PHP配置把错误日志以邮件方式发送方法

  这篇文章主要介绍了PHP配置把错误日志以邮件方式发送方法(Windows系统),本文给出了配置示例和使用例子,需要的朋友可以参考下 当系统发生了很严重的问题,需要立刻发送给管理员.可以通过 error_log() 将错误以邮件形式发送到邮箱. 在 php.ini 中设置: 代码如下: sendmail_from = 472323087@qq.com 然后设置: 代码如下: sendmail_path = "G:sendmailsendmail.exe -t" 其中:G:sendma

PHP配置把错误日志以邮件方式发送方法(Windows系统)_php实例

当系统发生了很严重的问题,需要立刻发送给管理员.可以通过 error_log() 将错误以邮件形式发送到邮箱. 在 php.ini 中设置: 复制代码 代码如下: sendmail_from = 472323087@qq.com 然后设置: 复制代码 代码如下: sendmail_path = "G:\sendmail\sendmail.exe -t" 其中:G:\sendmail\sendmail.exe 是邮件客户端的地址.  代码: 复制代码 代码如下: <?php //关

SQL Server数据库邮件发送异常案例

  最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂!   案例1:我们一台数据库服务器突然发送邮件都不行了,出现问题时,检查邮件发送记录,你会发现发送状态都是failed. SELECT * FROM msdb.dbo.sysmail_faileditems   SELECT * FROM msdb.dbo.sysmail_mailitems   检查Database Mail Log,你会发现

Vista下使用VS2008编译.EXE的C#程序 出现错误&amp;amp;quot;无法加载 DLL“api_clnt.dll”: 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志。 (异常来自 HRESULT:0x800736B1)&amp;amp;quot;。

问题描述 Vista下使用VS2008编译.EXE的C#程序出现错误"无法加载DLL"api_clnt.dll":应用程序无法启动,因为应用程序的并行配置不正确.有关详细信息,请参阅应用程序事件日志.(异常来自HRESULT:0x800736B1)".api_clnt.dll是由C++语言实现的我想问下这个错误是由VISTA系统引起的,还是VS2008引起的呢,因为之前在XP系统下用VS2005编译时是正确的还有怎么解决谢谢 解决方案 解决方案二:先给自己顶下解决方

AOP记录异常邮件发送记录

一般我们的异常都会抛出到控制层,如果使用struts2也就是action.然后try{//正确代码实现}catch{//在里面记录错误日志},这样咋一看是不错,代码很完美.但是如果项目中有成千上万个项目怎么办?难道在每个action的catch里面都要加入异常记录代码?很显然工作量是很大的.7 `, X, R" [  \1 [2 D 0 S+ I4 X, f& F) \, L  C/ Y$ t; P6 ~# Q4 g- Q4 v) H" M       鉴于项目中配置了数据库事

解决Discuz! X2.0 邮件发送返回错误信息的办法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 最近在安装Discuz! X2.0时,检测邮件设置时,总是提示"邮件发送返回错误信息".(如图). 本人环境配置为: Linux 虚拟主机 服务器软件:Apache 服务器数据库:MySQL 百度一下,发现不少站长都遇上了这个问题,网上都是千篇一律的转载一篇Discuz的官方教程,但是根本无法解决"邮件发送返回错

.net jMail邮件发送(含抄送、密送、多发、日志记录)实例代码_实用技巧

jmail是一个第三方邮件操作组件,通常位于web服务器端,实现收邮件及发邮件功能(客户端用Foxmail这类就很好了).可以利用它轻松实现发邮件.抄送.密送.多发.日志记录及收邮件功能.本章要讲的,就是:发邮件.抄送.密送.多发.日志记录. 一.组件准备下载JMail44_pro并安装(记下安装路径) 找到安装路径,将其中的jmail.dll复制到项目中 二.核心发送代码新建MailAPI.cs,并输入以下代码 复制代码 代码如下: using System;using System.Coll