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