[jira] [Resolved] (CXF-8997) AbstractSTSTokenTest and TransportBindingTests no longer need to set https protocol to TLSv1 on IBM Java

2024-04-03 Thread Andriy Redko (Jira)


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

Andriy Redko resolved CXF-8997.
---
Resolution: Fixed

> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java
> 
>
> Key: CXF-8997
> URL: https://issues.apache.org/jira/browse/CXF-8997
> Project: CXF
>  Issue Type: Test
>  Components: STS
>Affects Versions: 3.6.3, 4.0.4
>Reporter: Jamie Mark Goodyear
>Priority: Major
> Fix For: 4.0.5, 3.6.4
>
>
> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java.
> Current builds of CXF 4.0.x on IBM Java will fail the AbstractSTSTokenTest 
> and TransportBindingTests due to their use of TLSv1. Note: IBM JDKs disable 
> TLSv1 by default since around Java 8 
> (https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/06/19/ibm-java-80630-disables-tlsv1-tlsv11-by-default-ho).
> Removing the test case IBM control flag allows the default TLS to pass the 
> tests.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CXF-8997) AbstractSTSTokenTest and TransportBindingTests no longer need to set https protocol to TLSv1 on IBM Java

2024-04-03 Thread Andriy Redko (Jira)


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

Andriy Redko updated CXF-8997:
--
Fix Version/s: 3.6.4

> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java
> 
>
> Key: CXF-8997
> URL: https://issues.apache.org/jira/browse/CXF-8997
> Project: CXF
>  Issue Type: Test
>  Components: STS
>Affects Versions: 3.6.3, 4.0.4
>Reporter: Jamie Mark Goodyear
>Priority: Major
> Fix For: 4.0.5, 3.6.4
>
>
> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java.
> Current builds of CXF 4.0.x on IBM Java will fail the AbstractSTSTokenTest 
> and TransportBindingTests due to their use of TLSv1. Note: IBM JDKs disable 
> TLSv1 by default since around Java 8 
> (https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/06/19/ibm-java-80630-disables-tlsv1-tlsv11-by-default-ho).
> Removing the test case IBM control flag allows the default TLS to pass the 
> tests.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CXF-8997) AbstractSTSTokenTest and TransportBindingTests no longer need to set https protocol to TLSv1 on IBM Java

2024-04-03 Thread Andriy Redko (Jira)


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

Andriy Redko updated CXF-8997:
--
Affects Version/s: 3.6.3

> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java
> 
>
> Key: CXF-8997
> URL: https://issues.apache.org/jira/browse/CXF-8997
> Project: CXF
>  Issue Type: Test
>  Components: STS
>Affects Versions: 3.6.3, 4.0.4
>Reporter: Jamie Mark Goodyear
>Priority: Major
> Fix For: 4.0.5
>
>
> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java.
> Current builds of CXF 4.0.x on IBM Java will fail the AbstractSTSTokenTest 
> and TransportBindingTests due to their use of TLSv1. Note: IBM JDKs disable 
> TLSv1 by default since around Java 8 
> (https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/06/19/ibm-java-80630-disables-tlsv1-tlsv11-by-default-ho).
> Removing the test case IBM control flag allows the default TLS to pass the 
> tests.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CXF-8998) cxf-codegen-plugin - debug output velocity

2024-04-03 Thread Freeman Yue Fang (Jira)


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

Freeman Yue Fang commented on CXF-8998:
---

Hi [~khmarbaise],

I just quick tested samples/wsdl_first shipped with CXF 4.0.4 kit, but I can't 
see the DEBUG org.apache.velocity output there.

Any chance you can append a reproducer project so that we can take a closer 
look?

Thanks!
Freeman

> cxf-codegen-plugin - debug output velocity
> --
>
> Key: CXF-8998
> URL: https://issues.apache.org/jira/browse/CXF-8998
> Project: CXF
>  Issue Type: Improvement
>  Components: Configuration
>Affects Versions: 4.0.4
>Reporter: Karl Heinz Marbaise
>Priority: Minor
>
> Currently we are using {{cxf-codegen-plugin}}, which produces allways 
> debugging output of velocity, on the console
> {code}
> 15:59:45  [INFO] 
> 15:59:45  [INFO] --- cxf-codegen:4.0.4:wsdl2java (default) @ wsdls ---
> 15:59:45  [INFO] Running code generation in fork mode...
> 15:59:45  [INFO] bin/java
> 15:59:45  [INFO] Building jar: /tmp/cxf-tmp-7/cxf-codegen.jar
> 15:59:45  [WARNING] Picked up JAVA_TOOL_OPTIONS: .
> 15:59:46  [INFO] 15:59:46.356 [main] DEBUG org.apache.velocity -- 
> Initializing Velocity, Calling init()...
> 15:59:46  [INFO] 15:59:46.360 [main] DEBUG org.apache.velocity -- Starting 
> Apache Velocity v2.3
> 15:59:46  [INFO] 15:59:46.362 [main] DEBUG org.apache.velocity -- Default 
> Properties resource: org/apache/velocity/runtime/defaults/velocity.properties
> 15:59:53  [INFO] 
> {code}
> Is there an easy way to suppress the debug output for the execution of the 
> plugin?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CXF-8987) Java 21 - HttpClientHTTPConduit thread locked during shutdown

2024-04-03 Thread Andriy Redko (Jira)


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

Andriy Redko commented on CXF-8987:
---

Thanks a lot for confirming, [~carnevalegiacomo] , will be looking into it 
shortly.

> Java 21 - HttpClientHTTPConduit thread locked during shutdown 
> --
>
> Key: CXF-8987
> URL: https://issues.apache.org/jira/browse/CXF-8987
> Project: CXF
>  Issue Type: Bug
>  Components: Transports
>Affects Versions: 4.0.3, 4.0.4
> Environment: [^thdump2]
> *OpenJDK 21.0.2*
> *Apache CXF 4.0.4*
> *Apache Camel 4.4.1*
>Reporter: Giacomo Carnevale
>Priority: Blocker
> Attachments: thdump2
>
>
> Hi,
> I am using Apache CXF client via the Apache Camel CXF connector.
> After I updated frm OpenJDK 17.x to OpenJDK 21.0.2, during application 
> shutdown, the following lock occurs:
> *at java.lang.Thread.join(java.base@21.0.2/Thread.java:2072)*
>     *- locked <0x00061cd2ab80> (a 
> jdk.internal.net.http.HttpClientImpl$SelectorManager)*
>     *at java.lang.Thread.join(java.base@21.0.2/Thread.java:2200)*
>     *at 
> jdk.internal.net.http.HttpClientImpl.awaitTermination(java.net.http@21.0.2/HttpClientImpl.java:628)*
>     *at 
> java.net.http.HttpClient.{color:#de350b}close{color}(java.net.http@21.0.2/HttpClient.java:900)*
>     *at 
> jdk.internal.net.http.HttpClientFacade.{color:#de350b}close{color}(java.net.http@21.0.2/HttpClientFacade.java:192)*
>     *at 
> org.apache.cxf.transport.http.HttpClientHTTPConduit.{color:#de350b}close{color}(HttpClientHTTPConduit.java:125)*
> HttpClientHTTPConduit.close
> {code:java}
> public void close() {
> if (client instanceof AutoCloseable) {
> try {
> ((AutoCloseable)client).close();
> } catch (Exception e) {
> //ignore
> }
> } else if (client != null) {
> String name = client.toString();
> client = null;
> tryToShutdownSelector(name);
> }
> defaultAddress = null;
> super.close();
> } {code}
>  
> java.net.HttpClient.close
>  
> {code:java}
> public void close() {
> boolean terminated = isTerminated();
> if (!terminated) {
> shutdown();
> boolean interrupted = false;
> while (!terminated) {
> try {
> terminated = awaitTermination(Duration.ofDays(1L));
> } catch (InterruptedException e) {
> if (!interrupted) {
> interrupted = true;
> shutdownNow();
> if (isTerminated()) break;
> }
> }
> }
> if (interrupted) {
> Thread.currentThread().interrupt();
> }
> }
> } {code}
> My workaround
> {code:java}
> public void close() {
> if (client instanceof AutoCloseable) {
> try {
> client.shutdownNow();
> //((AutoCloseable)client).close();
> } catch (Exception e) {
> //ignore
> }
> } else if (client != null) {
> String name = client.toString();
> client = null;
> tryToShutdownSelector(name);
> }
> defaultAddress = null;
> super.close();
> } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CXF-8998) cxf-codegen-plugin - debug output velocity

2024-04-03 Thread Karl Heinz Marbaise (Jira)
Karl Heinz Marbaise created CXF-8998:


 Summary: cxf-codegen-plugin - debug output velocity
 Key: CXF-8998
 URL: https://issues.apache.org/jira/browse/CXF-8998
 Project: CXF
  Issue Type: Improvement
  Components: Configuration
Affects Versions: 4.0.4
Reporter: Karl Heinz Marbaise


Currently we are using {{cxf-codegen-plugin}}, which produces allways debugging 
output of velocity, on the console

{code}
15:59:45  [INFO] 
15:59:45  [INFO] --- cxf-codegen:4.0.4:wsdl2java (default) @ wsdls ---
15:59:45  [INFO] Running code generation in fork mode...
15:59:45  [INFO] bin/java
15:59:45  [INFO] Building jar: /tmp/cxf-tmp-7/cxf-codegen.jar
15:59:45  [WARNING] Picked up JAVA_TOOL_OPTIONS: .
15:59:46  [INFO] 15:59:46.356 [main] DEBUG org.apache.velocity -- Initializing 
Velocity, Calling init()...
15:59:46  [INFO] 15:59:46.360 [main] DEBUG org.apache.velocity -- Starting 
Apache Velocity v2.3
15:59:46  [INFO] 15:59:46.362 [main] DEBUG org.apache.velocity -- Default 
Properties resource: org/apache/velocity/runtime/defaults/velocity.properties
15:59:53  [INFO] 
{code}

Is there an easy way to suppress the debug output for the execution of the 
plugin?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CXF-8997) AbstractSTSTokenTest and TransportBindingTests no longer need to set https protocol to TLSv1 on IBM Java

2024-04-03 Thread Jamie Mark Goodyear (Jira)


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

Jamie Mark Goodyear updated CXF-8997:
-
Flags: Patch

> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java
> 
>
> Key: CXF-8997
> URL: https://issues.apache.org/jira/browse/CXF-8997
> Project: CXF
>  Issue Type: Test
>  Components: STS
>Affects Versions: 4.0.4
>Reporter: Jamie Mark Goodyear
>Priority: Major
> Fix For: 4.0.5
>
>
> AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
> protocol to TLSv1 on IBM Java.
> Current builds of CXF 4.0.x on IBM Java will fail the AbstractSTSTokenTest 
> and TransportBindingTests due to their use of TLSv1. Note: IBM JDKs disable 
> TLSv1 by default since around Java 8 
> (https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/06/19/ibm-java-80630-disables-tlsv1-tlsv11-by-default-ho).
> Removing the test case IBM control flag allows the default TLS to pass the 
> tests.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CXF-8997) AbstractSTSTokenTest and TransportBindingTests no longer need to set https protocol to TLSv1 on IBM Java

2024-04-03 Thread Jamie Mark Goodyear (Jira)
Jamie Mark Goodyear created CXF-8997:


 Summary: AbstractSTSTokenTest and TransportBindingTests no longer 
need to set https protocol to TLSv1 on IBM Java
 Key: CXF-8997
 URL: https://issues.apache.org/jira/browse/CXF-8997
 Project: CXF
  Issue Type: Test
  Components: STS
Affects Versions: 4.0.4
Reporter: Jamie Mark Goodyear
 Fix For: 4.0.5


AbstractSTSTokenTest and TransportBindingTests no longer need to set https 
protocol to TLSv1 on IBM Java.

Current builds of CXF 4.0.x on IBM Java will fail the AbstractSTSTokenTest and 
TransportBindingTests due to their use of TLSv1. Note: IBM JDKs disable TLSv1 
by default since around Java 8 
(https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/06/19/ibm-java-80630-disables-tlsv1-tlsv11-by-default-ho).

Removing the test case IBM control flag allows the default TLS to pass the 
tests.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CXF-8987) Java 21 - HttpClientHTTPConduit thread locked during shutdown

2024-04-03 Thread Giacomo Carnevale (Jira)


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

Giacomo Carnevale commented on CXF-8987:


Hi

same problem with OpenJdk 22

openjdk version "22" 2024-03-19
OpenJDK Runtime Environment (build 22+36-2370)
OpenJDK 64-Bit Server VM (build 22+36-2370, mixed mode, sharing)

 
|*Java Stack*|at java.lang.Object.wait0(java.base@22/Native Method)
- waiting on [no object reference available]
at java.lang.Object.wait(java.base@22/Object.java:375)
at java.lang.Thread.join(java.base@22/Thread.java:2039)
- locked [0x000618372e08] (a 
jdk.internal.net.http.HttpClientImpl$SelectorManager)
at java.lang.Thread.join(java.base@22/Thread.java:2167)
at 
jdk.internal.net.http.HttpClientImpl.awaitTermination(java.net.http@22/HttpClientImpl.java:632)
at java.net.http.HttpClient.close(java.net.http@22/HttpClient.java:900)
at 
jdk.internal.net.http.HttpClientFacade.close(java.net.http@22/HttpClientFacade.java:192)
at 
org.apache.cxf.transport.http.HttpClientHTTPConduit.close(HttpClientHTTPConduit.java:125)
at 
org.apache.cxf.endpoint.AbstractConduitSelector.close(AbstractConduitSelector.java:77)
at org.apache.cxf.endpoint.ClientImpl.destroy(ClientImpl.java:177)
at org.apache.camel.component.cxf.jaxws.CxfProducer.doStop(CxfProducer.java:93)
at org.apache.camel.support.service.BaseService.stop(BaseService.java:154)|

 

My workaround is to set system property 
org.apache.cxf.transport.http.forceURLConnection=true

> Java 21 - HttpClientHTTPConduit thread locked during shutdown 
> --
>
> Key: CXF-8987
> URL: https://issues.apache.org/jira/browse/CXF-8987
> Project: CXF
>  Issue Type: Bug
>  Components: Transports
>Affects Versions: 4.0.3, 4.0.4
> Environment: [^thdump2]
> *OpenJDK 21.0.2*
> *Apache CXF 4.0.4*
> *Apache Camel 4.4.1*
>Reporter: Giacomo Carnevale
>Priority: Blocker
> Attachments: thdump2
>
>
> Hi,
> I am using Apache CXF client via the Apache Camel CXF connector.
> After I updated frm OpenJDK 17.x to OpenJDK 21.0.2, during application 
> shutdown, the following lock occurs:
> *at java.lang.Thread.join(java.base@21.0.2/Thread.java:2072)*
>     *- locked <0x00061cd2ab80> (a 
> jdk.internal.net.http.HttpClientImpl$SelectorManager)*
>     *at java.lang.Thread.join(java.base@21.0.2/Thread.java:2200)*
>     *at 
> jdk.internal.net.http.HttpClientImpl.awaitTermination(java.net.http@21.0.2/HttpClientImpl.java:628)*
>     *at 
> java.net.http.HttpClient.{color:#de350b}close{color}(java.net.http@21.0.2/HttpClient.java:900)*
>     *at 
> jdk.internal.net.http.HttpClientFacade.{color:#de350b}close{color}(java.net.http@21.0.2/HttpClientFacade.java:192)*
>     *at 
> org.apache.cxf.transport.http.HttpClientHTTPConduit.{color:#de350b}close{color}(HttpClientHTTPConduit.java:125)*
> HttpClientHTTPConduit.close
> {code:java}
> public void close() {
> if (client instanceof AutoCloseable) {
> try {
> ((AutoCloseable)client).close();
> } catch (Exception e) {
> //ignore
> }
> } else if (client != null) {
> String name = client.toString();
> client = null;
> tryToShutdownSelector(name);
> }
> defaultAddress = null;
> super.close();
> } {code}
>  
> java.net.HttpClient.close
>  
> {code:java}
> public void close() {
> boolean terminated = isTerminated();
> if (!terminated) {
> shutdown();
> boolean interrupted = false;
> while (!terminated) {
> try {
> terminated = awaitTermination(Duration.ofDays(1L));
> } catch (InterruptedException e) {
> if (!interrupted) {
> interrupted = true;
> shutdownNow();
> if (isTerminated()) break;
> }
> }
> }
> if (interrupted) {
> Thread.currentThread().interrupt();
> }
> }
> } {code}
> My workaround
> {code:java}
> public void close() {
> if (client instanceof AutoCloseable) {
> try {
> client.shutdownNow();
> //((AutoCloseable)client).close();
> } catch (Exception e) {
> //ignore
> }
> } else if (client != null) {
> String name = client.toString();
> client = null;
> tryToShutdownSelector(name);
> }
> defaultAddress = null;
> super.close();
> } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CXF-8996) JAXRS Bean introspection utility Beanspector relies on Class.getMethods natural order

2024-04-03 Thread Jamie Mark Goodyear (Jira)


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

Jamie Mark Goodyear updated CXF-8996:
-
Flags: Patch

> JAXRS Bean introspection utility Beanspector relies on Class.getMethods 
> natural order
> -
>
> Key: CXF-8996
> URL: https://issues.apache.org/jira/browse/CXF-8996
> Project: CXF
>  Issue Type: Improvement
>  Components: JAX-RS
>Affects Versions: 4.0.4
>Reporter: Jamie Mark Goodyear
>Priority: Major
> Fix For: 4.0.5
>
>
> JAXRS Bean introspection utility Beanspector relies on Class.getMethods 
> natural order.
> For most JVMs the Beanspector Tests will pass, however IBM Java does not 
> return methods in the same ordering. Note: Class.getMethods does not provide 
> a prescribed ordering of methods.
> When CXF 4.0.x main branch is built, we'll observe:
> {{Apache CXF JAX-RS Extensions: Search fails.}}
> {{{}[ERROR] Failures:{}}}{{{}[ERROR] 
> org.apache.cxf.jaxrs.ext.search.BeanspectorTest.testMismatchedOverriddenBeans{}}}{{{}[ERROR]
>    Run 1: BeanspectorTest.testMismatchedOverriddenBeans Expected exception: 
> java.lang.IllegalArgumentException{}}}{{{}[ERROR]   Run 2: 
> BeanspectorTest.testMismatchedOverriddenBeans Expected exception: 
> java.lang.IllegalArgumentException{}}}{{{}[ERROR]   Run 3: 
> BeanspectorTest.testMismatchedOverriddenBeans Expected exception: 
> java.lang.IllegalArgumentException{}}}{{{}[ERROR]   Run 4: 
> BeanspectorTest.testMismatchedOverriddenBeans Expected exception: 
> java.lang.IllegalArgumentException{}}}
> {{{}[ERROR] 
> org.apache.cxf.jaxrs.ext.search.BeanspectorTest.testMismatchedOverriddenBeans 
> - Time elapsed: 0.001 s <<< FAILURE!{}}}{{{}java.lang.AssertionError: 
> Expected exception: java.lang.IllegalArgumentException{}}}
> We can improve this behaviour by detecting when IBM Java is in use, and 
> having IBM process declared methods first, then process remaining methods. 
> This will make IBM behave more like other JVMs. 
> I will provide a PR with the change in place. Currently testing on a variety 
> of platforms/JVMs to ensure tests pass.
> {{//Class.getMethods does not provide an ordering.}}
> {{//IBM Java tends to have a different ordering than other JVMs, so process 
> declared methods first.}}
> {{//Process remaining methods after to not miss getter/setters.}}
> {{if ("IBM Corporation".equals(System.getProperty("java.vendor"))) {}}
> {{processMethods(tclass.getDeclaredMethods());}}
> {{}}}
> {{processMethods(tclass.getMethods());}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)