Hi,

How about your bundle import the db driver package?

We have a jpa-osgi example(which use org.hsqldb.jdbcDriver) shipped with FUSE ESB 4.2 kit, just in case you were not aware of that.

Freeman
On 2010-4-13, at 下午1:15, Jason Chaffee wrote:

Does anyone have any insight on why I cannot get a database connection with my OSGI service in Servicemix, but the exact same code on the exact same machine is able to get a connection with the database in unit-tests and when deployed in a war? I am using the postgresql bundle created by spring in all three scenarios and other the log message error in the karaf.log, there are no errors with my service or the imports.

I am stuck, any help is greatly appreciated.

Thanks,

Jason


-----Original Message-----
From: Jason Chaffee [mailto:[email protected]]
Sent: Mon 4/12/2010 5:42 PM
To: [email protected]; [email protected]; 
[email protected]
Subject: RE: error with osgi jax-rs service

I almost have everything working, but there is one last error that I don't understand with regards to the DB driver. I added the postgresql wrapped jar to my required bundles and I see in the logs that the driver is loaded, but I am still getting a sql exception with regards to finding an adequate driver. It loaded the correct driver, yet it cannot find a suitable driver few log statements later?? Any ideas?

Here are the logs:

17:37:43,426 | INFO | xtenderThread-58 | DriverManagerDataSource | tasource.DriverManagerDataSource 155 | Loaded JDBC driver: org.postgresql.Driver 17:37:43,463 | INFO | xtenderThread-58 | HbmBinder | org.hibernate.cfg.HbmBinder 322 | Mapping class: com.ebates.csp.dto.Store -> merchants 17:37:43,465 | INFO | xtenderThread-58 | AnnotationConfiguration | nate.cfg.AnnotationConfiguration 369 | Hibernate Validator not found: ignoring 17:37:43,466 | INFO | xtenderThread-58 | AnnotationSessionFactoryBean | bernate3.LocalSessionFactoryBean 730 | Building new Hibernate SessionFactory 17:37:43,468 | INFO | xtenderThread-58 | rnateSearchEventListenerRegister | rnateSearchEventListenerRegister 53 | Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled. 17:37:43,469 | INFO | xtenderThread-58 | ConnectionProviderFactory | ection.ConnectionProviderFactory 95 | Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider 17:37:43,470 | WARN | xtenderThread-58 | JDBCExceptionReporter | rnate.util.JDBCExceptionReporter 100 | SQL Error: 0, SQLState: 08001 17:37:43,470 | ERROR | xtenderThread-58 | JDBCExceptionReporter | rnate.util.JDBCExceptionReporter 101 | No suitable driver found for jdbc:postgresql://uat- vm.ebates.com:5432/EBJASON 17:37:43,471 | WARN | xtenderThread-58 | SettingsFactory | rg.hibernate.cfg.SettingsFactory 133 | Could not obtain connection to query metadata java.sql.SQLException: No suitable driver found for jdbc:postgresql://myserver:5432/EBJASON



-----Original Message-----
From: Jason Chaffee [mailto:[email protected]]
Sent: Mon 4/12/2010 3:23 PM
To: [email protected]; [email protected]
Subject: RE: error with osgi jax-rs service

Ok, I have gotten further now. I installed the jpa-hibernate feature and now my only problem is getting the postgres driver in the classpath.

I tried two different approaches and neither seemed to work. First, I tried wrapping it as a bundle and I tried to add it to the system directory and neither approach seemed to work.

Any other suggestions?

thanks,

Jason


-----Original Message-----
From: Freeman Fang [mailto:[email protected]]
Sent: Mon 4/12/2010 12:41 AM
To: [email protected]
Subject: Re: error with osgi jax-rs service

Hi,

I think you need take a look at FUSE ESB 4.2(which is based on Apache
4.x). There's a jpa-hibernate feature with FUSE ESB 4.2 kit and
provide hibernate bundles for you,  also there's a jpa-osgi example
with that kit.
You can download the kit from [1]
[1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/4.2.0-fuse-01-00/

Freeman
On 2010-4-12, at ??3:32, Jason Chaffee wrote:

I am trying to deploy an osgi jax-rs service.  It uses spring and
hibernate to load data from a DB and into JAXB annotated classes
that are used by the service.  This service is working fine as a
webapp, but I would like to deploy on servicemix 4.x as an osgi
service.  I have wrapped hibernate and other jars that being used
and deployed, but I am still getting the error below. It is too
cryptic for me to even know what the issue is, other than it can't
find some dependency.  Any help is greatly appreciated.


00:16:00,322 | INFO  | xtenderThread-79 |
DependencyServiceManager         | startup.DependencyServiceManager
232 | OsgiBundleXmlApplicationContext(bundle=com.ebates.cbsp,
config=osgibundle:/META-INF/spring/*.xml) is waiting for unsatisfied
dependencies [[&osgiDestinationRegistry]]
00:21:00,333 | WARN  | Timer-0          |
WaiterApplicationContextExecutor | WaiterApplicationContextExecutor
453 | Timeout occurred before finding service dependencies for
[OsgiBundleXmlApplicationContext(bundle=com.ebates.cbsp,
config=osgibundle:/META-INF/spring/*.xml)]
00:21:00,334 | INFO  | Timer-0          |
DefaultListableBeanFactory       | ort.DefaultSingletonBeanRegistry
421 | Destroying singletons in
org
.springframework
.beans.factory.support.defaultlistablebeanfact...@2bc609cd: defining
beans
[cxf
,org
.apache
.cxf
.bus
.spring
.BusApplicationListener
,org
.apache
.cxf
.bus
.spring
.BusWiringBeanFactoryPostProcessor
,org
.apache
.cxf
.bus
.spring
.Jsr250BeanPostProcessor
,org
.apache
.cxf
.bus
.spring
.BusExtensionPostProcessor
,org
.apache
.cxf
.resource
.ResourceManager
,org
.apache
.cxf
.configuration
.Configurer
,org
.apache
.cxf
.binding
.BindingFactoryManager
,org
.apache
.cxf
.transport
.DestinationFactoryManager
,org
.apache
.cxf
.transport
.ConduitInitiatorManager
,org
.apache
.cxf
.wsdl
.WSDLManager
,org
.apache
.cxf
.phase
.PhaseManager
,org
.apache
.cxf
.workqueue
.WorkQueueManager
,org
.apache
.cxf
.buslifecycle
.BusLifeCycleManager
,org
.apache
.cxf
.endpoint
.ServerRegistry
,org
.apache
.cxf
.endpoint
.ServerLifeCycleManager
,org
.apache
.cxf
.endpoint
.ClientLifeCycleManager
,org
.apache
.cxf
.transports
.http
.QueryHandlerRegistry
,org
.apache
.cxf
.endpoint
.EndpointResolverRegistry
,org
.apache
.cxf
.headers
.HeaderManager
,org
.apache
.cxf
.catalog
.OASISCatalogManager
,org
.apache
.cxf
.endpoint
.ServiceContractResolverRegistry
,org
.apache
.cxf
.jaxrs
.JAXRSBindingFactory
,org
.apache
.cxf
.binding
.http
.HttpBindingFactory
,org
.apache
.cxf
.transport
.servlet
.ServletTransportFactory
,org
.apache
.cxf
.transport
.http_osgi
.OsgiTransportFactory
,osgiDestinationRegistry
,org
.springframework
.beans
.factory
.annotation
.AutowiredAnnotationBeanPostProcessor
#0
,storeService
,seiOutInterceptor
,seiInInterceptor
,cspService
,cxf
.config
,cspDataSource
,transactionManager
,propertyConfigurer,cspSessionFactory,storeDAO,storeManager]; root
of factory hierarchy
00:21:00,348 | ERROR | Timer-0          |
WaiterApplicationContextExecutor | WaiterApplicationContextExecutor
432 | Unable to create application context for [com.ebates.cbsp],
unsatisfied dependencies: Dependency on
[(objectClass
=org.apache.cxf.transport.http_osgi.OsgiDestinationRegistryIntf)]
(from bean [&osgiDestinationRegistry])
org.springframework.context.ApplicationContextException: Application
context initialization for 'com.ebates.cbsp' has timed out
        at
org
.springframework
.osgi
.extender
.internal
.dependencies
.startup
.DependencyWaiterApplicationContextExecutor
.timeout(DependencyWaiterApplicationContextExecutor.java:462)
        at
org
.springframework
.osgi
.extender
.internal
.dependencies
.startup.DependencyWaiterApplicationContextExecutor.access
$000(DependencyWaiterApplicationContextExecutor.java:51)
        at
org
.springframework
.osgi
.extender
.internal
.dependencies.startup.DependencyWaiterApplicationContextExecutor
$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java: 108)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
00:21:00,349 | ERROR | Timer-0          |
ContextLoaderListener            |
BundleApplicationContextListener   50 | Application context refresh
failed (OsgiBundleXmlApplicationContext(bundle=com.ebates.cbsp,
config=osgibundle:/META-INF/spring/*.xml))
org.springframework.context.ApplicationContextException: Application
context initialization for 'com.ebates.cbsp' has timed out
        at
org
.springframework
.osgi
.extender
.internal
.dependencies
.startup
.DependencyWaiterApplicationContextExecutor
.timeout(DependencyWaiterApplicationContextExecutor.java:462)
        at
org
.springframework
.osgi
.extender
.internal
.dependencies
.startup.DependencyWaiterApplicationContextExecutor.access
$000(DependencyWaiterApplicationContextExecutor.java:51)
        at
org
.springframework
.osgi
.extender
.internal
.dependencies.startup.DependencyWaiterApplicationContextExecutor
$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java: 108)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)


thanks,

Jason


--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com






--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to