You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2017/03/15 23:47:41 UTC
[jira] [Created] (IGNITE-4829) Spring context is not injected into
POJO store when JDBC driver is utilized
Denis Magda created IGNITE-4829:
-----------------------------------
Summary: Spring context is not injected into POJO store when JDBC driver is utilized
Key: IGNITE-4829
URL: https://issues.apache.org/jira/browse/IGNITE-4829
Project: Ignite
Issue Type: Bug
Affects Versions: 1.9
Reporter: Denis Magda
Assignee: Alexey Kuznetsov
Priority: Critical
Fix For: 2.0
Attachments: SampleJdbcApp.zip
Faced with the exception reported in the discussion initiated a long time ago:
http://apache-ignite-users.70518.x6.nabble.com/ignite-Spring-application-context-resource-is-not-injected-problem-td6377.html
Basically, I get the same exception:
{code}
class org.apache.ignite.IgniteException: Spring application context resource is not injected.
at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:171)
at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:100)
at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1261)
at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:791)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:950)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1799)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1602)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516)
at org.apache.ignite.Ignition.start(Ignition.java:322)
at org.apache.ignite.internal.jdbc2.JdbcConnection.getIgnite(JdbcConnection.java:191)
at org.apache.ignite.internal.jdbc2.JdbcConnection.<init>(JdbcConnection.java:152)
at org.apache.ignite.IgniteJdbcDriver.connect(IgniteJdbcDriver.java:361)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at Main.initIgniteConnection(Main.java:260)
at Main.main(Main.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
{code}
The exception occurs when my application uses Ignite JDBC driver to connect to a cluster. The cluster persists data to a relation database (Postrgers), so I have the POJO store defined in the application configuration. The latter was generated for by Apache Ignite Web Console and the POJO store is set by {{CacheJdbcPojoStoreFactory.dataSourceBean}} which causes the error.
If I set the POJO store using {{CacheJdbcPojoStoreFactory.dataSource}} method then the issue disappears.
To reproduce the issue do the following:
- Unzip the attached project and start {{ServerNode}} class.
- Start the sample application that uses Ignite JDBC driver and you'll get the reported exception.
Change the configuration from {{ignite-jdbc-bad}} to {{ignite-jdbc}} and the exception dissappears because the latter sets the store using {{CacheJdbcPojoStoreFactory.dataSource}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)