springmvc在websphere下面部署問題處理

由於工作原因,原有項目開發時,都是在tomcat8下面運行的,這次開發的項目,告知需要在websphere 8.5.5.14版本下運行,自己以前也沒有弄過websphere的東西,於是從網上找了一些參考資料,資料中均只是介紹瞭如何進行部署,對於部署過程中遇到的問題,描述較少,本次主要記錄實際操作過程中處理的問題。

說明項目開發框架爲:SpringMvc 4.3.17 + mybatis3.2.2 +jdk1.7 開發。

首先安裝websphere的過程就不介紹了,網上比較多,直接安裝就行,通過maven將項目打包成war包,登錄websphere控制檯

控制檯.png

 如上圖所示,點擊應用程序類型下的WebSphere企業應用程序,即可出現右邊的界面,點擊安裝,上傳打包好的war包。


問題一:

上傳war包出現如下圖提示,經過google後,發現8.5.5版本的websphere不能使用javaee 3以上的,於是修改web.xml文件中的javaee版本爲2.5.

javaee3.0.png

修改完後,在打包上傳就完成了安裝步驟。接下來點擊啓動,啓動過程中可以觀察websphere的日誌文件,通過日誌文件確認服務啓動情況。日誌文件存放目錄爲:

/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/下,看SystemOut.log文件即可。

問題二:配置文件加載失敗

在tomcat下面能正常運行的項目,移植到websphere下後,發現配置項加載不到,導致啓動報錯。於是查看了加載配置文件的地方

<bean id="propertyConfigurer" class="******.EncryptablePropertyPlaceholderConfigurer">

<constructor-arg ref="configurationEncryptor" />

<property name="ignoreResourceNotFound" value="true"></property>

<property name="locations">

<list>

<value>classpath:config-*.properties</value>

</list>

</property>

</bean>

如上,可以看出,是通過通配符的形式進行加載配置文件的,但是websphere不支持該種情況,於是改掉了此處加載配置文件的xml,重新打包更新。


問題三:mybatis別名找不到的問題

啓動程序後,日誌文件中報別名找不到,這就奇怪了,Tomcat下明明都沒問題的代碼,結果確找不到別名,代碼如下

通過typeAliasesPackage,掃描了數據庫實體類的包,結果還是不行。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<property name="typeAliasesPackage"

value="***.domain.model" />

<property name="mapperLocations" value="classpath*:mappers/*Mapper.xml" />

<property name="databaseIdProvider" ref="databaseIdProvider" />

</bean>


接下來,只能自己顯示定義各個實體類的別名了,通過mybatis-config.xml文件中進行定義,如下所示


<typeAliases>

    <typeAlias type="com.yibi.bank.domain.model.BankArbAgent" alias="bankArbAgent"  />

</typeAliases>


修改完,打包更新,啓動後,程序正常啓動,無報錯,websphere默認的端口爲9080,訪問正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章