iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
DevOps

30天WebSphere入門及經驗分享系列 第 10

D10/WebSphere Log & Debug(二)

  • 分享至 

  • xImage
  •  

今天再繼續昨天未完的工作

再次查看log,發現了跟昨天一樣的錯誤

javax.naming.NameNotFoundException: Name comp/env/jdbc not found in context "java:".

我本來以為只要在web.xml上補上resource-ref就了事了,但是看來並非如此,
遇到沒遇過的問題,先google再說。
上網搜尋關鍵字 Name comp/env/jdbc not found in context "java:"
發現stackoverflow上也有人問了相同的問題,但是都沒得到我要的答案。

後來再想想,才想到我還忘了一個步驟,
由於web.xml的resource-ref是透過console更新上去,而非一開始安裝時就存在的,
因此我們還需要再多走一道步驟,如下:

左側選單[Applications] > [Application Types] >[WebSphere enterprise applications]

點擊進入我們的war檔,並點選 Resource references
https://ithelp.ithome.com.tw/upload/images/20220925/20128973oXiPUi6NKx.png
進入頁面可以看到,
web.xml中定義的jndi並沒有mapping到我們在WebSphere上建立的jndi

點選Browse...按鈕
https://ithelp.ithome.com.tw/upload/images/20220925/201289734yFCXxEJvL.png
在這個頁面會列出WebSphere所有可被使用的jndi項目,
https://ithelp.ithome.com.tw/upload/images/20220925/20128973VuslShe3i6.png
這邊選擇我們先前建立的Iron30即可
https://ithelp.ithome.com.tw/upload/images/20220925/20128973rygxedym4x.png
按下ok並存檔

重新測試一次
https://ithelp.ithome.com.tw/upload/images/20220925/201289731CR3rJ7fM3.png
頁面終於成功帶出DB裡的資料了

這邊Resource references的設定,
一般正常情況下,在安裝應用程式時就會有一個步驟要你選擇對應的jndi了,
由於我的war檔在安裝時還沒有使用jndi、在web.xml也沒有定義jndi,因此在安裝時沒有走到這一步驟,
應該很少有人會遇到這種情況吧。


上一篇
D09/WebSphere Log & Debug(一)
下一篇
D11/WebSphere Log & Debug(三) - Log mode
系列文
30天WebSphere入門及經驗分享36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言