インターネットに接続せずに起動するようにIPGeocoderモジュールを構成する

この記事では、インターネットに接続せずに起動するようにIPジオコーダーモジュールを構成する方法について説明します。 デフォルトでは、このモジュールは起動プロセス中にインターネットに接続する必要があります。 ただし、一部のお客様は、接続を確立できず、環境はWebに接続されていないままです。 他のものは、代替としてプロキシ接続を必要とします。 プロキシ 介して接続するためのLCSの事前設定を参照してください。

Web接続が必要な理由は、起動時に GeoIPCity.dat というファイルがアプリケーションサーバーの新しく作成された /../liferay/geoip フォルダーに自動的にダウンロードされるためです。 (たとえば、Apache Tomcatでは、フォルダーは / temp / liferay / geoip フォルダーにあります。)

そうしないと、起動プロセス中に次のエラーが発生します。

	13:01:34,728 ERROR [main][IPGeocoderImpl:108] Unable to activate Liferay IP Geocoder
	java.net.ConnectException: Connection timed out (Connection timed out)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
	at sun.net.www.http.HttpClient.(HttpClient.java:211)
	at sun.net.www.http.HttpClient.New(HttpClient.java:308)
	at sun.net.www.http.HttpClient.New(HttpClient.java:326)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
	at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.getIPGeocoderFile(IPGeocoderImpl.java:138)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.configure(IPGeocoderImpl.java:101)
	at com.liferay.ip.geocoder.internal.IPGeocoderImpl.activate(IPGeocoderImpl.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
	at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
	at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
	at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
	at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:297)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)
	at java.security.AccessController.doPrivileged(Native Method)

解決

この特定の使用例では、システム管理者は GeoLite Legacy Downloadable Databasesから GeoLiteCity.dat.xz ダウンロードする必要があります。

上記のように、デフォルトでは、このファイルは自動的にダウンロードされますが、アプリケーションサーバーのキャッシュをクリアすると削除される一時フォルダーにダウンロードされるためです。システム管理者は次の手順を実行する必要があります。

  1. 変更を適用する前に、アプリケーションサーバーを停止します。
  2. .xz をキャッシュフォルダー以外のフォルダーに抽出します。
  3. / osgi / configs フォルダーに、 com.liferay.ip.geocoder.internal.IPGeocoderConfiguration.cfgというファイルを作成します。
  4. テキストエディタを使用して、 com.liferay.ip.geocoder.internal.IPGeocoderConfiguration.cfg ファイルを開きます。
  5. 次のように入力します: filePath = / path / to / permanent / location / of / GeoLiteCity.dat (例/ opt / liferay / geoip /GeoLiteCity.dat)。
  6. ファイルを保存します。
  7. / osgi / state フォルダーを削除します。
  8. アプリケーションサーバーを起動します。

これらの手順を適用すると、インターネット接続を必要とせずにプラットフォームを起動できます。

追加情報

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています