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

Reply via email to