On 16 December 2016 09:12:24 GMT+00:00, Per Newgro <per.new...@gmx.ch> wrote: >Hello, > >i've just updated my debian server with a update for tomcat >7.0.28-4+deb7u6 to 7.0.28-4+deb7u7.
Do you see the same problem with the latest 7.0.x obtained directly from the ASF? Mark > >In the release notes >(https://packages.qa.debian.org/t/tomcat7/news/20161201T223017Z.html) i >found > >> * Fixed CVE-2016-6797: The ResourceLinkFactory did not limit web >application >> access to global JNDI resources to those resources explicitly >linked to the >> web application. Therefore, it was possible for a web application >to access >> any global JNDI resource whether an explicit ResourceLink had >been >> configured or not. > >I configured the the resource and resource link as described in the >tomcat-howtos. So far it worked. >But after the update my webapp can not determine the appropriate >datasource. > >I couldn't find any advice in the web how to configure the resource >accordingly. >Can someone please give me an advice how to solve this. Thanks >Per > ><pre> >conf/server.xml > <Server...> > > <!-- Global JNDI resources > Documentation at /docs/jndi-resources-howto.html > --> > <GlobalNamingResources> > <!-- Editable user database that can also be used by > UserDatabaseRealm to authenticate users > --> > <Resource name="UserDatabase" auth="Container" > type="org.apache.catalina.UserDatabase" > description="User database that can be updated and saved" > factory="org.apache.catalina.users.MemoryUserDatabaseFactory" > pathname="conf/tomcat-users.xml" /> > > <Resource name="jdbc/foo" auth="Container" > type="javax.sql.DataSource" > description="Foo Datasource" > username="foo" password="bar" > url="jdbc:sqlserver://11.211.255.3;databaseName=FOO;" > driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" > intitalSize="5" maxWait="5000" > maxActive="120" maxIdle="5" > validationQuery="select 1" > poolPrepareStatements="true" /> > </GlobalNamingResources> ></Server> > > >webapps/foo/META-INF/context.xml ><Context> > <!-- > If the application has to run on tomcat this context can be used > to include files outside of the war in the classpath. So these > files can be configured with a custom war deployment. > All required resources of the src/test/resources folder have to be > copied to that folder. > > --> ><Loader className="org.apache.catalina.loader.VirtualWebappLoader" >virtualClasspath="${catalina.base}/conf/application/foo" /> > ><ResourceLink name="jdbc/foo" global="jdbc/foo" >type="javax.sql.DataSource"/> ></Context> > >webapps/foo/WEB-INF/web.xml > > <resource-ref> > <description>DB Connection</description> > <res-ref-name>jdbc/foo</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <!-- was: Application --> > <res-auth>Container</res-auth> > </resource-ref> > >Spring configuration > public @Bean(destroyMethod="") DataSource applicationDb( > @Value("${database.driver}") String driverClassName, > @Value("${database.url}") String url, > @Value("${database.username}") String username, > @Value("${database.password}") String password) throws >NamingException { > InitialContext ctx = new InitialContext(); > DataSource ds = (DataSource) > ctx.lookup("java:comp/env/jdbc/foo"); > // this logs a BasicDataSource instance > LOG.debug("Datasource=" + ds); > return ds == null ? devDataSource(driverClassName, url, > username, >password) : ds; > } > >Exception stack >at >org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) >at >org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) > ... 40 more >Dez 16, 2016 10:08:06 AM org.apache.catalina.core.StandardContext >listenerStart >SCHWERWIEGEND: Exception sending context initialized event to listener >instance of class org.springframework.web.context.ContextLoaderListener >org.springframework.beans.factory.BeanCreationException: Error creating >bean with name 'supportedLocaleDao': Injection of persistence >dependencies failed; nested exception is >org.springframework.beans.factory.BeanCr >eationException: Error creating bean with name >'applicationEntityManagerFactory' defined in class >de.itcompany.config.AppctxJeeHb: Invocation of init method failed; >nested exception is org.hibernate.HibernateExcepti >on: Unable to determine appropriate DataSource to use >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:357) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) >at >org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) >at >org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) >at >org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) >at >org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) >at >org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) >at >org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) >at >org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) >at >org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446) >at >org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) >at >org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) >at >org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4827) >at >org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5321) >at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >at >org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899) >at >org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875) >at >org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) >at >org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963) >at >org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600) >at >java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) >at >java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >at >java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) >Caused by: org.springframework.beans.factory.BeanCreationException: >Error creating bean with name 'applicationEntityManagerFactory' defined >in class de.itcompany.config.AppctxJeeHb: Invocation of init method >failed; >nested exception is org.hibernate.HibernateException: Unable to >determine appropriate DataSource to use >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) >at >org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) >at >org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) >at >org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) >at >org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) >at >org.springframework.orm.jpa.EntityManagerFactoryUtils.findEntityManagerFactory(EntityManagerFactoryUtils.java:130) >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findNamedEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:556) >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:538) >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:707) >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:680) >at >org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:169) >at >org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) >at >org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:354) > ... 26 more >Caused by: org.hibernate.HibernateException: Unable to determine >appropriate DataSource to use >at >org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure(DatasourceConnectionProviderImpl.java:119) >at >org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) >at >org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) >at >org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) >at >org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) >at >org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) >at >org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) >at >org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) >at >org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) >at >org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) >at >org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) >at >org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) >at >org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) >at >org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) >at >org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) >at >org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) >at >org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) >at >org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) >at >org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) > ... 40 more > ></pre> > >--------------------------------------------------------------------- >To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >For additional commands, e-mail: users-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org