To be fair, I hadn't thought about that yet... I was first trying to
deploy the component in the embedded container, I was hoping maybe I
could then inject the path of the deploy.xml to the component somehow.
I haven't found yet where the deployment descriptor is read, so I
haven't got much of an idea of how I'd do it, but if you are sure an
SU is needed I won't invest more time trying to make it work in
embedded mode.

Anyway, I'll look for the place where the dd is read and if I see any
chance of making it work I'll tell you.

Thanks.

Sebastian Gomez.

On Wed, Jun 4, 2008 at 8:39 PM, Guillaume Nodet <[EMAIL PROTECTED]> wrote:
> How do you plan to deploy the WSDL ? Ode only supports deployment
> through SUs afaik.
>
> On Wed, Jun 4, 2008 at 6:40 PM, Sebastian Gomez <[EMAIL PROTECTED]> wrote:
>> Hi.
>>
>> I've been trying to use Apache Ode in the embedded mode of ServiceMix,
>> but I haven't been able to make it work. I've followed a similar
>> approach to the one used for Camel
>> (http://servicemix.apache.org/servicemix-camel.html --> using
>> servicemix-camel in embedded mode), but it fails to startup due to an
>> exception caused when connecting to the embedded Derby database.
>>
>> As Ode 1.1 needs the geronimo-connector to be patched, I decided to
>> use a Ode 1.2 snapshot, that uses geronimo-connector-2.0.1 (I can't
>> use Ode's version of geronimo connector because the rest of the
>> servicemix component will not work). When starting the jbi container I
>> get the mentioned exception (I'll paste it below) and I believe the
>> cause of it is that the database's path contains a ".", which confuses
>> Derby when trying to connect to the database.
>>
>> Debugging I've seen that the database path is built concatenating my
>> project's path, the Ode component's "installationPath" and the
>> database name. The difference between the embedded mode and the
>> standard mode is that the embedded mode executes line 1099 of the
>> JbiContainer.java in servicemix-core (3.2.2) where a "." for the
>> installationPath is hardcoded. This makes it impossible to specify
>> another route. So, the database's path ends up being something like
>> "C:\projectPath\./databaseName", and Derby doesn't understand it.
>>
>> Has anyone been able to make it work? I guess creating a non-embedded
>> derby database could work, but I'm more interested in embedding it.
>>
>> Thanks in advance. Best regards.
>>
>> Sebatian Gomez.
>>
>> PS: I'll paste the connection exception, although I'm quite sure the
>> reason is the dot in the middle of the path:
>>
>> javax.resource.spi.ResourceAllocationException: Unable to obtain
>> physical connection to jdbc:derby:C:\myWorkspace\myProject\./derby-db
>>        at 
>> org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection(JDBCDriverMCF.java:98)
>>        at 
>> org.tranql.connector.jdbc.JDBCDriverMCF.createManagedConnection(JDBCDriverMCF.java:73)
>>        at 
>> org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getConnection(MCFConnectionInterceptor.java:48)
>>        at 
>> org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterceptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
>>        at 
>> org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor.internalGetConnection(SinglePoolConnectionInterceptor.java:67)
>>        at 
>> org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:78)
>>        at 
>> org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46)
>>        at 
>> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:96)
>>        at 
>> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
>>        at 
>> org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
>>        at 
>> org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
>>        at 
>> org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)
>>        at 
>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
>>        at 
>> org.apache.ode.utils.LoggingDataSourceWrapper.getConnection(LoggingDataSourceWrapper.java:42)
>>        at 
>> org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:106)
>>        at 
>> org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:87)
>>        at 
>> org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:91)
>>        at 
>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:569)
>>        at 
>> org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1221)
>>        at 
>> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:476)
>>        at 
>> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:401)
>>        at 
>> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:102)
>>        at 
>> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:82)
>>        at 
>> org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:861)
>>        at 
>> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:852)
>>        at 
>> org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:630)
>>        at 
>> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:169)
>>        at 
>> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>>        at 
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>>        at 
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>>        at 
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>>        at 
>> org.apache.ode.store.jpa.DbConfStoreConnectionFactory.getConnection(DbConfStoreConnectionFactory.java:49)
>>        at 
>> org.apache.ode.store.ProcessStoreImpl.getConnection(ProcessStoreImpl.java:550)
>>        at 
>> org.apache.ode.store.ProcessStoreImpl.access$300(ProcessStoreImpl.java:75)
>>        at 
>> org.apache.ode.store.ProcessStoreImpl$Callable.call(ProcessStoreImpl.java:699)
>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>>        at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>        at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>        at java.lang.Thread.run(Thread.java:595)
>> Caused by: java.sql.SQLException: Database
>> 'C:\myWorkspace\myProject\./derby-db' not found.
>>        at 
>> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
>> Source)
>>        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown 
>> Source)
>>        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown 
>> Source)
>>        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
>> Source)
>>        at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown 
>> Source)
>>        at 
>> org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
>>        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
>>        at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
>>        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown 
>> Source)
>>        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>>        at org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown Source)
>>        at 
>> org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection(JDBCDriverMCF.java:96)
>>        ... 39 more
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>

Reply via email to