Hi, I am pretty stuck in trying to get ibatis to work. It is complaining about javax.naming.NoInitialContextException and I have no idea how to resolve it.
I appreciate any help and hint on how to resolve this problem. Here is the data source definition in my activemq.xml: <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://192.168.1.105/app?relaxAutoCommit=true"/> <property name="username" value="root"/> <property name="password" value="sqlpass"/> <property name="maxActive" value="200"/> <property name="poolPreparedStatements" value="true"/> </bean> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/mysql"/> <property name="defaultObject" ref="mysql-ds"/> <property name="proxyInterface" value="javax.sql.DataSource"/> </bean> Here is what I have in SqlMapConfig.xml <transactionManager type="JDBC" commitRequired="false"> <dataSource type="JNDI"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://192.168.1.105/app"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="sqlpass"/> </dataSource> </transactionManager> When I try to send a stomp message to it, I am getting: org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/transactionManager/dataSource/end()'. Cause: com.ibatis.sqlmap.client.SqlMapException: There was an error configuring JndiDataSourceTransactionPool. Cause: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:724) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:81) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531) at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:260) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:944) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:875) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/transactionManager/dataSource/end()'. Cause: com.ibatis.sqlmap.client.SqlMapException: There was an error configuring JndiDataSourceTransactionPool. Cause: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.