Java org.springframework.jdbc.cannotgetjdbcconnectionexception Rmi类加载器已禁用

Java org.springframework.jdbc.cannotgetjdbcconnectionexception Rmi类加载器已禁用,java,spring,jdbc,rmi,jconsole,Java,Spring,Jdbc,Rmi,Jconsole,来自c#背景的Java新手 我试图实现的只是通过jmx和rim向jConsole公开一个方法 当我运行我的服务并打开jConsole时,我可以在那里看到这个方法,并且看起来一切都很好,现在当我尝试通过控制台运行这个方法时,问题出现了。我得到的错误是“调用helloWorld:java.rmi.UnmarshaleException时出现问题:错误解组返回;嵌套异常是:java.lang.ClassNotFoundException:org.springframework.jdbc.CannotG

来自c#背景的Java新手

我试图实现的只是通过jmx和rim向jConsole公开一个方法

当我运行我的服务并打开jConsole时,我可以在那里看到这个方法,并且看起来一切都很好,现在当我尝试通过控制台运行这个方法时,问题出现了。我得到的错误是“调用helloWorld:java.rmi.UnmarshaleException时出现问题:错误解组返回;嵌套异常是:java.lang.ClassNotFoundException:org.springframework.jdbc.CannotGetJdbcConnectionException(没有安全管理器:禁用rmi类装入器)”

我试图公开的方法是

@ManagedOperation
public int helloWorld() throws Exception {

    return jdbcTemplate.queryForInt(sql);
}
这是我的applicationContext文件

    <!-- this bean must not be lazily initialized if the exporting is to happen -->
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
    <property name="assembler" ref="assembler" />
    <property name="namingStrategy" ref="namingStrategy" />
    <property name="autodetect" value="true" />
</bean>

<bean id="jmxAttributeSource" class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource" />

<!-- will create management interface using annotation metadata -->
<bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
    <property name="attributeSource" ref="jmxAttributeSource" />
</bean>

<!-- will pick up the ObjectName from the annotation -->
<bean id="namingStrategy" class="org.springframework.jmx.export.naming.MetadataNamingStrategy">
    <property name="attributeSource" ref="jmxAttributeSource" />
</bean>

<context:component-scan base-package="com.bulks" />


<!-- enable annotations like @Autowired, which you also most likely need -->
<context:annotation-config/>

<bean class="com.bulksms.resources.HelloWorldResource"/>

<!-- setup basic datasource -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="jdbc:mysql://localhost:3306/apu"></property>
    <property name="username" value="root"></property>
    <property name="password" value="password"></property>  
</bean>

<!-- jdbcTemplate bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"></property>
</bean>

您的异常是嵌套异常,因此它发生在应用程序上

java.lang.ClassNotFoundException: org.springframework.jdbc.CannotGetJdbcConnectionException
因此,如果说缺少一个类,可能是
jdbc
,请确保您的类路径中有它


因此,如果您有它,检查连接到
DB

的连接条件只需检查应用程序的pom.xml,它就在那里定义了。你认为它是在操作系统级别而不是在eclipse中吗?关于“禁用RMI类装入器”阻止人们读取剩余堆栈跟踪的原因是什么?这种情况经常发生。
java.lang.ClassNotFoundException: org.springframework.jdbc.CannotGetJdbcConnectionException