亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

必須啟動 InstrumentationLoadTimeWeaver / openjdk 11

必須啟動 InstrumentationLoadTimeWeaver / openjdk 11

躍然一笑 2022-06-30 17:51:58
我們有一個生產 Java 1.6 / Tomcat 7 / Spring 4 應用程序。我們正在將其移至 Openjdk 11。這意味著 Spring 5,我認為它可能還包括 Tomcat 9,因為我們正在更新其他所有內容。問題是不言自明的聲音:錯誤 org.springframework.web.context.ContextLoader - 上下文初始化失敗 org.springframework.beans.factory.UnsatisfiedDependencyException:創建名稱為“rootContextConfig”的 bean 時出錯:通過字段“entityManagerFactory”表示不滿足的依賴關系;嵌套異常是 org.springframework.beans.factory.BeanCreationException:創建 com.xxxxx.config.RootContextConfig 中定義的名稱為“entityManagerFactory”的 bean 時出錯:調用 init 方法失?。磺短桩惓J?java.lang.IllegalStateException:必須從 Java 代理開始才能使用 InstrumentationLoadTimeWeaver。請參閱 Spring 文檔。一切都很好。唯一的問題是我們已經有了 Spring Insturment Java 代理-javaagent:${CATALINA_HOME}/lib/spring-instrument-5.1.5.RELEASE.jar就像我上面說的,這是我們只是更新版本的所有工作代碼。我確信 LTW 正在加載,因為我們可以看到 InstrumentationLoadTimeWeaver 類產生的錯誤。@Overridepublic void addTransformer(ClassFileTransformer transformer) {    Assert.notNull(transformer, "Transformer must not be null");    FilteringClassFileTransformer actualTransformer =            new FilteringClassFileTransformer(transformer, this.classLoader);    synchronized (this.transformers) {        Assert.state(this.instrumentation != null,                "Must start with Java agent to use InstrumentationLoadTimeWeaver. See Spring documentation.");        this.instrumentation.addTransformer(actualTransformer);        this.transformers.add(actualTransformer);    }}我只是不知道如何使用空檢測來實例化它。顯然我錯過了一些東西。可能是一些小而愚蠢的事情。但現在我沒有想法。
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

似乎問題出在類加載上

  1. 添加 '-verbose:class' 選項以查看是否InstrumentationLoadTimeWeaver已加載

  2. 嘗試將此選項添加到您的Tomcat上下文配置中 <Context> ... <Loader delegate="true"/> ... </Context>

Tomcat 7.0.27 中的一些更改可能會觸發此問題

使 Catalina.getParentClassLoader 的實現與代碼庫中的類似方法保持一致,如果沒有設置父類加載器,則讓它返回系統類加載器。(市場)


查看完整回答
反對 回復 2022-06-30
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號