Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add Oracle WebLogic 14.1.2 support

オープン
#4,549 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
java
領域
backend

調査の方向性

サポート対象テクノロジーのマトリックスと、issue に記載されている WebLogic HTTP の失敗から始め、既存の 12.2 の統合カバレッジと WebLogic 14.1.2 を比較します。WebLogic 14.1.2.0.0、Oracle JDK 21、agent 1.56.0、プレーンな HTTP で再現します。完了の条件は、agent が null socket-factory failure なしで APM Server に到達し、そのバージョンが統合テストでカバーされていることです。

索引モデルが issue の本文から書いたものです。

説明

agent-java

Is your feature request related to a problem?

The supported technologies matrix lists Oracle WebLogic 12.2 as the only version covered by the integration test suite. On WebLogic 14.1.2.0.0 the agent cannot reach APM Server at all. Reverting back to 12c fixes the issue.

The agent starts and the tracer reaches RUNNING, then every outbound HTTP call fails because WebLogic's own HTTP client returns a null socket factory:

WARN  co.elastic.apm.agent.report.ApmServerHealthChecker - Elastic APM server http://<apm-server>:8200/ is not available (Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null)
java.lang.NullPointerException: Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null
	at weblogic.net.http.HttpClient.openServer(HttpClient.java:403) ~[com.oracle.weblogic.net.jar:14.1.2.0]
	at weblogic.net.http.HttpClient.New(HttpClient.java:329) ~[com.oracle.weblogic.net.jar:14.1.2.0]
	at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:368) ~[com.oracle.weblogic.net.jar:14.1.2.0]
	at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:770) ~[com.oracle.weblogic.net.jar:14.1.2.0]
	at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:42) ~[com.oracle.weblogic.net.jar:14.1.2.0]
	at co.elastic.apm.agent.report.HttpUtils.consumeAndClose(HttpUtils.java:62) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
	at co.elastic.apm.agent.report.ApmServerClient.executeForAllUrls(ApmServerClient.java:306) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
	at co.elastic.apm.agent.report.ApmServerHealthChecker.call(ApmServerHealthChecker.java:67) ~[elastic-apm-agent-1.56.0.jar:1.56.0]

Two things distinguish this from prior reports:

  • It occurs on plain HTTP, not HTTPS.
  • It is a different failure from #2409, which was an HTTPS ClassNotFoundException for weblogic.security.SSL.jsseadapter.JaSSLContextImpl. That was fixed by #3870, and 1.56.0 includes the fix, so the socket factory returning null is not covered by it.

Remaining on 12.2 is not always an available option.

Describe the solution you'd like

Add Oracle WebLogic 14.1.2 to the tested matrix, so the agent connects to APM Server on that version without workarounds.

Describe alternatives you've considered

  • -DUseSunHttpHandler=true makes WebLogic defer to the JDK's Sun HTTP handler instead of its own, bypassing the failing class. Reported in earlier WebLogic cases as a global flag that also alters WebLogic's own HTTP behaviour, so a trade-off rather than a clean workaround. Untested against this failure.
  • elastic.apm.delay_agent_premain_ms was tried during the earlier WebLogic investigation and did not reliably help there.
  • HTTPS rather than HTTP. A distinct WebLogic code path, and the one agent-side defect known to affect it (#2409) is fixed in 1.56.0. Untested here, and gated on the deployment having TLS available.

Additional context

Environment where this was reproduced:

WebLogic 14.1.2.0.0, production mode, managed server started via NodeManager
JDK Oracle JDK 21
Agent 1.56.0
APM Server self-managed, plain HTTP
OS Linux (RHEL 8)
主要言語
Java
スター
593
フォーク
337
平均マージ
15時間 24分
マージ済み PR(30日)
15

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

elastic/apm-agent-java のほかの issue

elastic/apm-agent-java の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。