You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Karol Krzyzak (JIRA)" <ji...@apache.org> on 2011/05/30 12:38:47 UTC

[jira] [Closed] (DBCP-362) Cannot create PoolableConnectionFactory when system proxy is defined.

     [ https://issues.apache.org/jira/browse/DBCP-362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karol Krzyzak closed DBCP-362.
------------------------------

    Resolution: Not A Problem

The problem stemmed from the use of SAF (Simple Application Framework). Spring initialization has been performed in method initialize a proxy definition in the method main. After the transfer the following line of code to the initialize method, application start normally.
Code:

System.setProperty("java.net.useSystemProxies","false");



> Cannot create PoolableConnectionFactory when system proxy is defined.
> ---------------------------------------------------------------------
>
>                 Key: DBCP-362
>                 URL: https://issues.apache.org/jira/browse/DBCP-362
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: w7(64b), hibernate 3.5.5, spring 2.5.6, dbcp  1.4, pool 1.5.6
>            Reporter: Karol Krzyzak
>              Labels: PoolableConnectionFactory, proxy
>
> 19 maj 2011 09:03:57,458 INFO [JCLLoggerAdapter.info(265)] - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSource ConnectionProvider
> After that line my application hangs, but only if i set poxy server* in internet connection.
> I have a database in local network.
> Only I meant here is that if I set the internet connection proxy application hangs on a line that I mentioned above. 
> *Set proxy server:
> On the Tools menu in Internet Explorer, click Internet Options, click the Connections tab, and then click LAN Settings.
> Under Proxy server, click to select the Use a proxy server for your LAN check box.
> In the Address box, type the IP address of the proxy server.
> In the Port box, type the port number that is used by the proxy server for client connections (by default, 8080).
> Click OK to close the LAN Settings dialog box.
> Click OK again to close the Internet Options dialog box.
> I even try select and unselect the Bypass proxy server for local addresses check box but it doesn't metter. 
> When i turn of proxy in IE eveything works ok.
> I started debugin....
> First of all after 5minutes i have got exception...
>     org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (JZ006: Caught IOException: java.net.SocketException: Malformed reply from SOCKS server)
>     	at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
>     	at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
>     	at info.kkrzyzak.sunfire.dao.utils.DecryptingDataSource.getConnection(DecryptingDataSource.java:36)
>     	at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)
>     	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:114)
>     	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
>     	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
>     	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
>     	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
>     	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
>     	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
>     	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     	at java.security.AccessController.doPrivileged(Native Method)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
>     	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     	at java.security.AccessController.doPrivileged(Native Method)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:671)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:610)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
>     	at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:240)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:959)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     	at java.security.AccessController.doPrivileged(Native Method)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:671)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:610)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
>     	at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:240)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:959)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     	at java.security.AccessController.doPrivileged(Native Method)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:671)
>     	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:610)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
>     	at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)
>     	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:240)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:959)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     	at java.security.AccessController.doPrivileged(Native Method)
>     	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
> ....
> I was based on the information contained in article "Java Networking and Proxies" (javase/6/docs/technotes/guides/net)
> I turn off using proxy.
> I think for some reason the JRE tries to talk SOCKS protocol to a host, which is not a SOCKS proxy.
> For clearly, I haven't SOCKS proxy server.
> Still debuging....
> (BasicDataSource.java)
> It hangs in method protected static void validateConnectionFactory(PoolableConnectionFactor y connectionFactory) when try to call conn = (Connection) connectionFactory.makeObject();
> and as I mentioned after 5minutes throw above exception.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira