[forge-issues] [JBoss JIRA] (FORGE-874) Proxy settings not used for maven web project

Yann Albou (JIRA) jira-events at lists.jboss.org
Wed May 8 15:29:53 EDT 2013


    [ https://issues.jboss.org/browse/FORGE-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773051#comment-12773051 ] 

Yann Albou commented on FORGE-874:
----------------------------------

Unfortunately I still have the pb with the same exception, because method:
ShellImpl.init(@Observes final Startup event, final PluginCommandCompleter pluginCompleter)
is executed before:
ProxyObserver.setProxy(@Observes Startup event, Configuration configuration)
 
I tried to use the the PreStartup event:  (ProxyObserver.setProxy(@Observes PreStartup event, Configuration configuration)): but then I get 
{code:java}
Error during PreStartup event
javax.enterprise.event.ObserverException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:395)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:216)
        at org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:390)
        at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40)
        at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:92)
        at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:214)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
        at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
        at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
        at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
        at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
        at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:158)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.solder.unwraps.UnwrapsInvocationHandler.invoke(UnwrapsInvocationHandler.java:81)
        at org.javassist.tmp.java.lang.Object_$$_javassist_0.getScopedConfiguration(Object_$$_javassist_0.java)
        at org.jboss.forge.shell.util.ProxySettings.fromForgeConfiguration(ProxySettings.java:47)
        at org.jboss.forge.shell.observers.ProxyObserver.setProxy(ProxyObserver.java:29)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
        at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
        at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
        at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
        at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
        at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
        ... 8 more
Caused by: java.lang.NullPointerException
        at java.io.File.<init>(File.java:222)
        at org.jboss.forge.shell.ForgeEnvironmentImpl.getConfigDirectory(ForgeEnvironmentImpl.java:101)
        at org.jboss.forge.shell.ForgeEnvironmentImpl.getUserConfiguration(ForgeEnvironmentImpl.java:116)
        at org.jboss.forge.shell.ForgeEnvironmentImpl$Proxy$_$$_WeldClientProxy.getUserConfiguration(ForgeEnvironmentImpl$Proxy$_$$_WeldClientProxy.java)
        at org.jboss.forge.shell.env.ConfigurationImpl.getUserConfig(ConfigurationImpl.java:100)
        at org.jboss.forge.shell.env.ConfigurationImpl.getConfiguration(ConfigurationImpl.java:89)
        at org.jboss.forge.shell.env.ConfigurationImpl$Proxy$_$$_WeldClientProxy.getConfiguration(ConfigurationImpl$Proxy$_$$_WeldClientProxy.java)
        ... 27 more
{code}

and the null pointer comes from the fact that getProperty(ShellImpl.PROP_FORGE_CONFIG_DIR) is null

                
> Proxy settings not used for maven web project
> ---------------------------------------------
>
>                 Key: FORGE-874
>                 URL: https://issues.jboss.org/browse/FORGE-874
>             Project: Forge
>          Issue Type: Bug
>          Components: Builtin Plugins
>    Affects Versions: 1.2.3.Final
>            Reporter: Yann Albou
>            Assignee: George Gastaldi
>            Priority: Minor
>             Fix For: 1.3.0.Final
>
>
> Proxy settings not used for maven web project
> When loading a maven project of "war" type the following exception occurs:
> {code}
> Error during Startup event
> org.jboss.shrinkwrap.descriptor.api.DescriptorImportException: Could not import XML from stream
>         at org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeImporterImpl.importAsNode(XmlDomNodeImporterImpl.java:76)
>         at org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeImporter.importAsNode(XmlDomNodeImporter.java:46)
>         at org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImporterBase.from(NodeDescriptorImporterBase.java:72)
>         at org.jboss.shrinkwrap.descriptor.spi.DescriptorImporterBase.from(DescriptorImporterBase.java:142)
>         at org.jboss.forge.spec.javaee.servlet.ServletFacetImpl.getConfig(ServletFacetImpl.java:95)
>         at org.jboss.forge.spec.javaee.jsf.FacesFacetImpl.isInstalled(FacesFacetImpl.java:71)
>         at org.jboss.forge.project.BaseProject.registerFacet(BaseProject.java:153)
>         at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:208)
>         at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:186)
>         at org.jboss.forge.project.services.ProjectFactory.registerFacets(ProjectFactory.java:178)
>         at org.jboss.forge.project.services.ProjectFactory.findProjectRecursively(ProjectFactory.java:117)
>         at org.jboss.forge.shell.project.ProjectInitializer.doInit(ProjectInitializer.java:92)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>         at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>         at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>         at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>         at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>         at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>         at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>         at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>         at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>         at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>         at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>         at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:628)
>         at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
>         at org.jboss.forge.shell.project.CurrentProject.setCurrentResource(CurrentProject.java:79)
>         at org.jboss.forge.shell.ShellImpl.init(ShellImpl.java:376)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>         at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>         at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.init(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>         at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>         at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>         at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>         at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>         at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>         at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>         at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>         at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>         at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>         at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>         at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>         at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>         at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:167)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.net.ConnectException: Connection timed out: connect
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
>         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
>         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
>         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>         at java.net.Socket.connect(Socket.java:529)
>         at java.net.Socket.connect(Socket.java:478)
>         at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:395)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
>         at sun.net.www.http.HttpClient.<init>(HttpClient.java:234)
>         at sun.net.www.http.HttpClient.New(HttpClient.java:307)
>         at sun.net.www.http.HttpClient.New(HttpClient.java:324)
>         at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
>         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
>         at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
>         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172)
>         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)
>         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315)
>         at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282)
>         at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)
>         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1194)
>         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1090)
>         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1003)
>         at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
>         at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
>         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
>         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
>         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
>         at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
>         at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
>         at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
>         at org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeImporterImpl.importAsNode(XmlDomNodeImporterImpl.java:67)
>         ... 56 more
> {code}
> It is because the parser try to connect to http://java.sun.com:80 to parse the web.xml file but the proxy settings in forge config.xml is not used: 
> {code:xml}
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <configuration>
> <proxy>
> <host>my.proxy.com</host>
> <port>80</port>
> </proxy>
> <forge>
> <analytics>
> <enabled>false</enabled>
> </analytics>
> </forge>
> </configuration>
> {code}
> A workaround is to set the FORGE_OPTS to use sun default proxy: -Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=80
> But it would be better to set the proxy as it is done in https://github.com/forge/core/blob/master/shell/src/main/java/org/jboss/forge/shell/plugins/builtin/ForgePlugin.java#L527

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the forge-issues mailing list