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
