Linux 應用程式應用 localhost 的問題,linuxlocalhost
陳科肇
============
最近碰到一個奇葩的問題:
前提 -- Linux 環境下;Oracle資料庫已經搭建完成;Tomcat也搭建完成並部署了應用程式;
原因:
我在win7下在tomcat裡部署了與Linux部署的是同一個應用程式,然後訪問了Linux裡的Oracle資料庫,這個測試是成功了,應用程式能正常運行。
然而當我轉到Linux環境下Tomcat部署應用程式時,應用程式的登入頁面是可以正常訪問的,因為這時還需要串連資料庫,所以能正常運行。但一到了訪問資料庫時,就報錯,我查看了Tomcat的log,發現如下:
Hibernate:
select
systemid
from
hidp_sys_is
where
systemcode=?
AbandonedObjectPool is used (org.apache.commons.dbcp.AbandonedObjectPool@5572a255)
LogAbandoned: false
RemoveAbandoned: true
RemoveAbandonedTimeout: 600
2015-02-05 16:23:16 [ http-bio-8080-exec-9:18957 ] - [ ERROR ] Cannot create PoolableConnectionFactory (The Network Adapter could not establish the connection)
我就納悶,怎麼就訪問不了資料庫了,之前在Windows時不就好好的嗎,真是奇葩!
=================================================================
解決方案:
我想想一會,突然想起了,之前配置Oracle執行個體的時候,發現localhost在Linux下是沒用的。
沒錯,問題就是卡在這。
然後就把你配置的“資料來源”時寫的localhost改為你原生IP地址,即可正常訪問資料庫。
========
這也就是關於,在Linux 下,怎麼擷取本地主機IP的問題了!
待續...