Java プログラム名 JavaCANativeDispatcher を使用して、Web アプリケーションで CorrectAddress API をテストしようとしています。この .war ファイルを Linux 環境の jboss アプリケーション サーバーにデプロイしました。
CorrectA の場所は次のとおりです – /apps/jboss-5.1.0.GA/IstCorrectAddress/libCorrectA.so
/apps/jboss-5.1.0.GA/IstCorrectAddress/Data/CorrectAddressData
パスの設定は bashrc にあり、コードは次のとおりです – # .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/apps/jboss-5.1.0.GA/IstCorrectAddress/libCorrectA.so;
export LD_LIBRARY_PATH;
export CA_DATA=/apps/jboss-5.1.0.GA/IstCorrectAddress/Data;
エンドユーザーがブラウザー (windows から) を介してこのアプリケーションを実行すると、server.log で次のエラーがスローされます。
2013-07-23 15:06:21,830 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web]. [localhost].[/].[Controller]] Servlet.service() for servlet Controller threw exception
java.lang.UnsatisfiedLinkError: com.gfw.biz.JavaCANativeDispatcher.FindCityCounty([C[C[C[C[C)I
at com.gfw.biz.JavaCANativeDispatcher.FindCityCounty(Native Method)
at com.gfw.biz.JavaCANativeDispatcher.CallFindCityCounty(JavaCANativeDispatcher.java:487)
at com.gfw.jsp.Address.standardize(Address.java:113)
at com.gfw.jsp.actions.SetMailOptOutsAction.validate(SetMailOptOutsAction.java:385)
at com.gfw.jsp.actions.SetMailOptOutsAction.execute(SetMailOptOutsAction.java:97)
at com.gfw.jsp.Controller.processRequest(Controller.java:72)
at com.gfw.jsp.Controller.doPost(Controller.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
注 - コマンド java JavaCANativeDispatcher を指定して Linux サーバーでプログラム JavaCANativeDispatcher を実行すると、完全に動作します。このプログラムを実行するためだけに実行しました -
export CA_DATA=/apps/jboss-5.1.0.GA/IstCorrectAddress/Data
構成またはセットアップに何かが欠けているようです。提案してください。