[ 
https://issues.apache.org/jira/browse/CXF-8419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17283426#comment-17283426
 ] 

sendev commented on CXF-8419:
-----------------------------

We were able get around the `JVM_MaxObjectInspectionAge`  issue by passing the 
value 
-Dorg.apache.cxf.JDKBugHacks.gcRequestLatency=true while running native image. 
Now getting following issue 
 
{code:java}
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'endpoint' defined in class path resource 
[com/cxf/server/ApplicationConfig.class]: Bean instantiation via factory method 
failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[javax.xml.ws.Endpoint]: Factory method 'endpoint' threw exception; nested 
exception is java.lang.NoSuchMethodError: 
com.sun.xml.bind.v2.schemagen.xmlschema.Schema._attribute(javax.xml.namespace.QName,
 java.lang.Object)
        at 
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658)
 ~[na:na]
        at 
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1179)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
 ~[na:na]
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
 ~[na:na]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
 ~[na:na]
        at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944)
 ~[na:na]
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:923)
 ~[server:5.3.3]
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588)
 ~[server:5.3.3]
        at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144)
 ~[server:2.4.2]
        at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) 
[server:2.4.2]
        at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) 
[server:2.4.2]
        at 
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426)
 [server:2.4.2]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:326) 
[server:2.4.2]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) 
[server:2.4.2]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) 
[server:2.4.2]
        at com.cxf.server.ServerApplication.main(ServerApplication.java:10) 
[server:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to 
instantiate [javax.xml.ws.Endpoint]: Factory method 'endpoint' threw exception; 
nested exception is java.lang.NoSuchMethodError: 
com.sun.xml.bind.v2.schemagen.xmlschema.Schema._attribute(javax.xml.namespace.QName,
 java.lang.Object)
        at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
 ~[na:na]
        at 
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
 ~[na:na]
        ... 20 common frames omitted
Caused by: java.lang.NoSuchMethodError: 
com.sun.xml.bind.v2.schemagen.xmlschema.Schema._attribute(javax.xml.namespace.QName,
 java.lang.Object)
        at com.sun.proxy.$Proxy264.<clinit>(Unknown Source) ~[na:na]
        at 
com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375)
 ~[na:na]
        at 
com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295)
 ~[na:na]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
~[na:na]
        at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739) ~[na:na]
        at com.sun.xml.txw2.ContainerElement._cast(ContainerElement.java:338) 
~[na:na]
        at com.sun.xml.txw2.TXW.create(TXW.java:80) ~[na:na]
        at 
com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator$Namespace.writeTo(XmlSchemaGenerator.java:608)
 ~[na:na]
        at 
com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator$Namespace.access$800(XmlSchemaGenerator.java:479)
 ~[na:na]
        at 
com.sun.xml.bind.v2.schemagen.XmlSchemaGenerator.write(XmlSchemaGenerator.java:461)
 ~[na:na]
        at 
com.sun.xml.bind.v2.runtime.JAXBContextImpl.generateSchema(JAXBContextImpl.java:799)
 ~[server:na]
        at 
org.apache.cxf.common.jaxb.JAXBUtils.generateJaxbSchemas(JAXBUtils.java:810) 
~[na:na]
        at 
org.apache.cxf.jaxb.JAXBDataBinding.generateJaxbSchemas(JAXBDataBinding.java:468)
 ~[server:na]
        at 
org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:385) 
~[server:na]
        at 
org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
 ~[na:na]
        at 
org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
 ~[na:na]
        at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:693)
 ~[na:na]
        at 
org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:529)
 ~[na:na]
        at 
org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:262)
 ~[na:na]
        at 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199)
 ~[na:na]
        at 
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:103)
 ~[na:na]
        at 
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:168) 
~[server:na]
        at 
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211)
 ~[server:na]
        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:460) 
~[server:na]
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:338) 
~[server:na]
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255) 
~[server:na]
        at com.cxf.server.ApplicationConfig.endpoint(ApplicationConfig.java:48) 
~[server:na]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:na]
        at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
 ~[na:na]
        ... 21 common frames omitted
{code}
[~dufoli] could you please take a look at this one and give me your 
suggestions. Thank you
 

> Graal VM native image run fails
> -------------------------------
>
>                 Key: CXF-8419
>                 URL: https://issues.apache.org/jira/browse/CXF-8419
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.4.2, 3.3.9
>            Reporter: sendev
>            Priority: Major
>              Labels: graalvm, spring-boot
>
> Hi,
> I am trying to follow the guide to create native image for CXF client that 
> was referenced in the defect that I created earlier #8340 . My example is 
> using
>  JaxWsProxyFactoryBean to create client.
>  
> I tried 3.3.9 version of CXF and I got following error while running native 
> image 
>  
> {code:java}
> 2021-02-09 17:30:11.322  INFO 5013 --- [           main] 
> com.cxf.client.ClientApplication         : Starting ClientApplication using 
> Java 1.8.0_282 on BGTMNWL-9123HKG with PID 5013 
> (/home/urajas4/cxf-client/build/client started by urajas4 in 
> /home/urajas4/cxf-client/build)
> 2021-02-09 17:30:11.322  INFO 5013 --- [           main] 
> com.cxf.client.ClientApplication         : No active profile set, falling 
> back to default profiles: default
> 2021-02-09 17:30:11.385  INFO 5013 --- [           main] 
> o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 
> 8081 (http)
> Feb 09, 2021 5:30:11 PM org.apache.coyote.AbstractProtocol init
> INFO: Initializing ProtocolHandler ["http-nio-8081"]
> Feb 09, 2021 5:30:11 PM org.apache.catalina.core.StandardService startInternal
> INFO: Starting service [Tomcat]
> Feb 09, 2021 5:30:11 PM org.apache.catalina.core.StandardEngine startInternal
> INFO: Starting Servlet engine: [Apache Tomcat/9.0.41]
> Feb 09, 2021 5:30:11 PM org.apache.catalina.core.ApplicationContext log
> INFO: Initializing Spring embedded WebApplicationContext
> 2021-02-09 17:30:11.394  INFO 5013 --- [           main] 
> w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: 
> initialization completed in 71 ms
> JVM_MaxObjectInspectionAge called:  Unimplemented
> Aborted (core dumped)
> {code}
>  
>  
> Then I upgrade to CXF 3.4.2 and getting following error when running native 
> image. The application runs fine as java application using CXF 3.4.2 or 3.3.9.
>  
> {code:java}
> 2021-02-09 18:15:54.564 ERROR 8528 --- [           main] 
> o.s.b.web.embedded.tomcat.TomcatStarter  : Error starting Tomcat context. 
> Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. 
> Message: Error creating bean with name 
> 'org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration': Unsatisfied 
> dependency expressed through field 'properties'; nested exception is 
> org.springframework.boot.context.properties.ConfigurationPropertiesBindException:
>  Error creating bean with name 
> 'cxf-org.apache.cxf.spring.boot.autoconfigure.CxfProperties': Could not bind 
> properties to 'CxfProperties' : prefix=cxf, ignoreInvalidFields=false, 
> ignoreUnknownFields=true; nested exception is 
> org.springframework.boot.context.properties.bind.BindException: Failed to 
> bind properties under 'cxf' to 
> org.apache.cxf.spring.boot.autoconfigure.CxfProperties
> Feb 09, 2021 6:15:54 PM org.apache.catalina.core.StandardService stopInternal
> INFO: Stopping service [Tomcat]
> 2021-02-09 18:15:54.566  WARN 8528 --- [           main] 
> ConfigServletWebServerApplicationContext : Exception encountered during 
> context initialization - cancelling refresh attempt: 
> org.springframework.context.ApplicationContextException: Unable to start web 
> server; nested exception is 
> org.springframework.boot.web.server.WebServerException: Unable to start 
> embedded Tomcat
> 2021-02-09 18:15:54.567  INFO 8528 --- [           main] 
> ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. 
> To display the conditions report re-run your application with 'debug' enabled.
> 2021-02-09 18:15:54.567 ERROR 8528 --- [           main] 
> o.s.b.d.LoggingFailureAnalysisReporter   : ***************************
> APPLICATION FAILED TO START
> ***************************Description:Failed to bind properties under 'cxf' 
> to org.apache.cxf.spring.boot.autoconfigure.CxfProperties:    Reason: 
> org.hibernate.validator.internal.constraintvalidators.bv.NotNullValidator.<init>()Action:Update
>  your application's configuration
> {code}
>  
> The steps I followed.
>  Placed all the native image configuration from 
> [https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jaxws_graalvm_dynamic/client/src/main/resources/META-INF/native-image/org.apache.cxf.samples/jaxws_graalvm_dynamic_client]
>  into my sample project and customized the configurations.
>  # Using CXF 3.3.9/3.4.2 and as per the above confluence document those 
> version of CXF should work with grail vm.
>  # Native image build was successful.
>  # Running native image is failing with above error.
>  
> The client project is here [https://github.com/sendev1/cxf-client] -> I am 
> trying to generate native image for this.
>  The server project is here [https://github.com/sendev1/cxf-server] -> client 
> will try to attempt the soap end point present in the server. I am not 
> compiling native image for server. Just run this as spring boot project so 
> that client talk to this server.
> If native image is running successfully for CXF client, then this REST end 
> point should work
> http://localhost:8081/hello



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to