Hi Andrew, Your last exception seems like a Cayenne fallback to a serializable type when it doesn't now how to handle given value, are there any warnings preceding this exception? Something like "Haven't found suitable ExtendedType for class..."?
On Wed, Oct 11, 2017 at 9:59 PM, Andrew Willerding <[email protected]> wrote: > Sorry to bug the list but I seemed to have got around the DI issue by > deleting the Maven references to cayenne and reinstalling them but now I'm > getting another exception. I'm sure I have the correct versions of Cayenne > v4.0.B1 server, java8 and removed di. Am I still missing some dependent > library? > > > Exception in thread "Thread-2" org.apache.cayenne.CayenneRuntimeException: > [v.4.0.B1 Jun 02 2017 15:11:18] Query exception. > at > org.apache.cayenne.access.DataDomainQueryAction.nextQueryException(DataDomainQueryAction.java:614) > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:299) > at > org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:471) > at > org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:72) > at > org.apache.cayenne.access.DataDomainQueryAction$2.perform(DataDomainQueryAction.java:446) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:87) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInLocalTransaction(DefaultTransactionManager.java:59) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:52) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:40) > at > org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:443) > at > org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:122) > at > org.apache.cayenne.access.DataDomain.onQueryNoFilters(DataDomain.java:564) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:748) > at > org.apache.cayenne.tx.TransactionFilter.onQuery(TransactionFilter.java:49) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:748) > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:556) > at > org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:382) > at > org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(ObjectContextQueryAction.java:107) > at > org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:94) > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:965) > at > org.apache.cayenne.access.DataContext.performQuery(DataContext.java:954) > at org.apache.cayenne.BaseContext.select(BaseContext.java:307) > at org.apache.cayenne.query.FluentSelect.select(FluentSelect.java:157) > at > com.callistacti.quest.crsolstasv2.ImportThread.run(ImportThread.java:202) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.io.StreamCorruptedException: invalid stream header: 32303137 > at > java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:857) > at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349) > at > org.apache.cayenne.access.types.SerializableTypeFactory$SerializableType.toJavaObject(SerializableTypeFactory.java:106) > at > org.apache.cayenne.access.types.SerializableTypeFactory$SerializableType.toJavaObject(SerializableTypeFactory.java:70) > at > org.apache.cayenne.access.types.ExtendedTypeDecorator.materializeObject(ExtendedTypeDecorator.java:53) > at > org.apache.cayenne.access.jdbc.reader.FullRowReader.readRow(FullRowReader.java:52) > at > org.apache.cayenne.access.jdbc.reader.FullRowReader.readRow(FullRowReader.java:32) > at > org.apache.cayenne.access.jdbc.JDBCResultIterator.nextRow(JDBCResultIterator.java:104) > at > org.apache.cayenne.access.jdbc.JDBCResultIterator.allRows(JDBCResultIterator.java:80) > at > org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:138) > at > org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97) > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:293) > > > > On 11/10/17 07:16 AM, Andrew Willerding wrote: >> >> Hi, >> >> I'm not sure what I'm missing when I try to run my application jar file. >> The intention is to load the cayenne configuration file from the >> subdirectory etc. >> >> I'm getting the following error >> >> Exception in thread "main" org.apache.cayenne.di.DIRuntimeException: DI >> container has no binding for key <BindingKey: >> org.apache.cayenne.configuration.ObjectContextFactory> >> at >> org.apache.cayenne.di.spi.DefaultInjector.getProvider(DefaultInjector.java:158) >> at >> org.apache.cayenne.di.spi.DefaultInjector.getProvider(DefaultInjector.java:144) >> at >> org.apache.cayenne.di.spi.DefaultInjector.getInstance(DefaultInjector.java:134) >> at >> org.apache.cayenne.configuration.CayenneRuntime.newContext(CayenneRuntime.java:124) >> at >> com.callistacti.quest.crsolstasv2.CRSolstas.main(CRSolstas.java:114) >> >> after executing the following code... >> >> public static final String DB_FILE = "cayenne-CRSolstas.xml"; >> >> Module myModule = (Binder binder) -> { >> binder.bind(ResourceLocator.class).toInstance(new >> FilesystemResourceLocator(new File("etc"))); >> >> ServerModule.contributeProperties(binder).put(Constants.SERVER_CONTEXTS_SYNC_PROPERTY, >> "false"); >> }; >> >> ServerRuntime cayenneRuntime = >> ServerRuntime.builder().addConfig(DB_FILE) >> .addModule(myModule) >> .build(); >> ObjectContext test = cayenneRuntime.newContext(); >> test.commitChanges(); >> >> When I run my code within my IDE (Netbeans) I do not get this error so I'm >> missing something from my jar package but I'm not sure what. >> >> Thanks, >> >> Andrew >> > -- Best regards, Nikita Timofeev
