当前位置: 首页 > 知识库问答 >
问题:

Spring SecuritySQL错误:0,SQLState:null

华善
2023-03-14

我的项目完全同意数据库加载所有数据,但Spring Security抛出了以下异常

10: 58:08警告[JDBCExceptionReporter]SQL错误:0,SQLState:null 10:58:08错误[JDBCExceptionReporter]com。McChange。v2.c3p0。ComboPooledDataSource[java.beans.IntrospectionException:java.lang.reflect.InvocationTargetException[numThreadsAwaitingCheckoutDefaultUser]]已关闭()

下面是我的Spring Security配置类

<http auto-config="true" use-expressions="false" authentication-manager-ref="authManager" access-decision-manager-ref="accessDecisionManager"
    access-denied-page="/unauthorized">
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY" />

    <form-login 
        login-processing-url="/j_login" 
        authentication-failure-url="/login?erro=usuarioIncorreto"
        always-use-default-target="false"
        login-page="/login" 
        default-target-url="/" />

    <logout invalidate-session="true" 
        logout-success-url="/login"
        logout-url="/j_logout"
        delete-cookies="JSESSIONID" />

    <session-management invalid-session-url="/login?erro=novaSessao" 
        session-fixation-protection="newSession">
        <concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
    </session-management>
</http>

<authentication-manager >
    <authentication-provider user-service-ref="securityServiceTrack">
        <password-encoder hash="md5" />
    </authentication-provider>
</authentication-manager>

<beans:bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
    <beans:property name="decisionVoters">
        <beans:list>
            <beans:bean class="org.springframework.security.access.vote.AuthenticatedVoter" />

--

这是我的网站。xml:

<display-name>Track Go Web</display-name>

<!-- ******************************************************* -->
<!-- Configuração do Spring -->
<!-- ******************************************************* -->

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/config/spring/applicationContext.xml
        /WEB-INF/config/spring/applicationContext-persistence.xml
        /WEB-INF/config/spring/applicationContext-security.xml
    </param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

<!-- Spring Security -->
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
    <listener-class>
        org.springframework.security.web.session.HttpSessionEventPublisher
    </listener-class>
</listener> 

<!-- OpenEntityManagerInViewFilter -->
<filter>
    <filter-name>OpenEntityManagerInViewFilter</filter-name>
    <filter-class>
        org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>OpenEntityManagerInViewFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- ******************************************************* -->
<!-- Configuração do SiteMesh -->
<!-- ******************************************************* -->
 <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


<!-- ******************************************************* -->
<!-- Configuração do VRaptor3 -->
<!-- ******************************************************* -->

<context-param>
    <param-name>br.com.caelum.vraptor.encoding</param-name>
    <param-value>UTF-8</param-value>
</context-param>
<!-- Define Messages Bundle -->

--

<filter>
    <filter-name>vraptor</filter-name>
    <filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
</filter>

<filter-mapping>
    <filter-name>vraptor</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

这是我的Persentence配置文件

<!-- ********************************************* -->
<!-- DataSource condfig-->
<!-- ********************************************* -->



<context:property-placeholder location="classpath:configuracoes.properties" />

 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${trackgoweb.jdbc.driverclass}" />
    <property name="jdbcUrl" value="${trackgoweb.jdbc.url}" />
    <property name="user" value="${trackgoweb.jdbc.username}" />
    <property name="password" value="${trackgoweb.jdbc.password}" />
    <property name="maxPoolSize" value="10" />
    <property name="maxStatements" value="0" />
    <property name="minPoolSize" value="3" />
    <property name="checkoutTimeout" value="30000" />
</bean>

<!-- Configuraçãoes relativas a acesso a dados -->
<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

    <property name="dataSource" ref="dataSource"/>

    <property name="jpaDialect">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"></bean>
    </property>
    <property name="jpaVendorAdapter">
        <bean
            class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
            <property name="databasePlatform" value="org.hibernate.dialect.PostgreSQLDialect" />
        </bean>
    </property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.query.substitutions">true 'S',false 'N',yes 'S',no 'N'</prop>
            <prop key="hibernate.query.jpaql_strict_compliance">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
    </property>
</bean>

<!-- Transaction Manager exclusivo para JPA -->
<bean id="transactionManager"
    class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
    <property name="jpaDialect">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"></bean>
    </property>
</bean>

共有1个答案

丁翊歌
2023-03-14

我通过删除数据源bean上deroy上的会话闭包解决了这个问题

<context:property-placeholder location="classpath:configuracoes.properties" />

 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${trackgoweb.jdbc.driverclass}" />
    <property name="jdbcUrl" value="${trackgoweb.jdbc.url}" />
    <property name="user" value="${trackgoweb.jdbc.username}" />
    <property name="password" value="${trackgoweb.jdbc.password}" />
    <property name="maxPoolSize" value="10" />
    <property name="maxStatements" value="0" />
    <property name="minPoolSize" value="3" />
    <property name="checkoutTimeout" value="30000" />
</bean>
 类似资料:
  • 帮助,我不能删除表中的最后一行。当我删除其他记录时没有错误,但是最后一个记录,我不能删除它 这是我的代码:

  • 问题内容: 在PHP中使用的符号,以测试或从不同的或。 例如return ,return 。因此,如果所讨论的子字符串的位置在开始时就在以0为基数的字符串中进行搜索,您将获得哪个PHP可以与之区分开。 有没有办法在Python中做到这一点? 问题答案: 在Python中, 的身份操作测试(,)。 测试逻辑相等性(因此)的运算符。 从技术上讲,这两者都不完全等同于PHP ,后者比较了逻辑相等性和Py

  • 我仍然试图学习如何创建一个搜索与搜索行动和数据库。但是我有太多的错误: > [运行时异常:没有为名称配置JPA EntityManagerFactory[默认]]当我修复文件时,会出现此错误,如: *db。违约driver=com。mysql。jdbc。驾驶员 db。违约url=“jdbc:mysql://localhost/search" db.default.user=root db.defa

  • 我只是想创建一个包含一列的表,并向其中添加一些值,但我得到了两个错误。一种是取消对db.close()的注释;句柄关闭太快,另一个是下面是代码。

  • 问题内容: 我有一个脚本,应该将某些内容附加到文件中,但是它引发了一个我不理解的错误,并且不确定如何触发该错误。 这是代码: 这是“ test2 words.txt”文件的内容: 这是我得到的完整错误: 问题答案: 引用Python文件操作的答案,在Windows上进行读写之间切换时,必须有一个中间的fflush,fsetpos,fseek或rewind操作。 这是一个可能的解决方法: 在中,是参

  • 问题内容: 我正在尝试提出ajax请求 该请求将警报“ {“ readyState”:0,“ responseText”:“”,“状态”:0,“ statusText”:“错误”}“ 我在Google上搜索了所有我想出的是跨站点Ajax调用(这显然不是) 我已经尝试将完整的url放进去,并且做同样的事情。 我唯一能想到的就是标题,我不知道它到底有什么问题。这是firebug的请求标头 我在另一个页