以下のデータベースの値を変更する。
テーブル:wdcm_env
env_idが「wdcenv_shortcuturl_live_days」のレコード
value列の値を変更すると反映される。(初期値は7)
以下のデータベースの値を変更する。
テーブル:wdcm_env
env_idが「wdcenv_shortcuturl_live_days」のレコード
value列の値を変更すると反映される。(初期値は7)
IM-Jugglingでモジュールの追加チェック(あるいは外す)を行った後、
warを作成してもモジュールが反映されないことがある。
生成されたwarの「WEB-INF/juggling.structure.txt」を確認しても、
チェックしたはずのモジュールが[x]になっていたりする。
解決としては、juggling.imでモジュールのチェックを変更した後に保存すると出てくる
前回からの変更理由を記述すると、うまくいった。
juggling.imの履歴を確認すると、しばらく履歴が追加されていなかったが
変更理由を記載することでここに入ってきた。
もちろんコメントなしの履歴も残っているんだけど、
一定数を超えるといけないのだろうか。条件がよくわからないが、とりあえず変更コメントを書けばよさそうだ。
intra-martを起動しても503エラーとなる。
起動時には明確なエラーが出力されず、以下のようなログだけが出ている。
[INFO] c.c.s.w.WebApp - WebApp[production/webapp/default/imart] fail
また、Resin停止時には以下のログが出力される。
[WARN] c.c.s.w.WebApp - java.lang.NullPointerException[WARN] c.c.s.w.WebApp - [] java.lang.NullPointerExceptionjava.lang.NullPointerException: null at jp.co.intra_mart.imbox.internal.message.impl.QueueingMessageSender$SenderWorkerManager.setEnabled(QueueingMessageSender.java:311) at jp.co.intra_mart.imbox.internal.message.impl.QueueingMessageSender$SenderWorkerManager.stop(QueueingMessageSender.java:272) at jp.co.intra_mart.system.servlet.PlatformServletContextListener.contextDestroyed(PlatformServletContextListener.java:53) at com.caucho.server.webapp.WebApp.stop(WebApp.java:5077) at com.caucho.server.webapp.WebApp.destroy(WebApp.java:5116) at com.caucho.env.deploy.DeployController.destroyInstance(DeployController.java:810) at com.caucho.env.deploy.DeployController.stopImpl(DeployController.java:794) at com.caucho.env.deploy.AbstractDeployControllerStrategy.stop(AbstractDeployControllerStrategy.java:85) at com.caucho.env.deploy.DeployController.stop(DeployController.java:574) at com.caucho.env.deploy.DeployContainer.stop(DeployContainer.java:412) at com.caucho.server.webapp.WebAppContainer.stop(WebAppContainer.java:1249) at com.caucho.server.host.Host.stop(Host.java:829) at com.caucho.server.host.Host.destroy(Host.java:850) at com.caucho.env.deploy.DeployController.destroyInstance(DeployController.java:810) at com.caucho.env.deploy.DeployController.stopImpl(DeployController.java:794) at com.caucho.env.deploy.AbstractDeployControllerStrategy.stop(AbstractDeployControllerStrategy.java:85) at com.caucho.env.deploy.DeployController.stop(DeployController.java:574) at com.caucho.env.deploy.DeployContainer.stop(DeployContainer.java:412) at com.caucho.server.host.HostContainer.stop(HostContainer.java:556) at com.caucho.server.cluster.ServletService.stop(ServletService.java:1715) at com.caucho.server.cluster.ServletSystem.stop(ServletSystem.java:81) at com.caucho.env.service.ResinSystem.stop(ResinSystem.java:598) at com.caucho.env.service.ResinSystem.destroy(ResinSystem.java:615) at com.caucho.env.shutdown.ShutdownSystem.shutdownImpl(ShutdownSystem.java:296) at com.caucho.env.shutdown.ShutdownSystem.access$200(ShutdownSystem.java:49) at com.caucho.env.shutdown.ShutdownSystem$ShutdownThread.run(ShutdownSystem.java:478)
WEB-INF/conf/log 配下のめぼしいログの出力レベルをDebugに設定したところ、原因が分かった。
様々な原因があるかもしれないが、今回においてはDB(Oracle)への接続に失敗していた。
Oracle側のサービスは起動していたが、リスナーが起動していなかった。
DBへの接続を見直すことで解決した。
デスクトップ版IM-Noticeをインストールし、設定を行ったが、通知バルーンが表示されない。
表示設定で「ダイアログで通知する」をonにしても何も出てこない。
通知履歴には入ってくるので、サーバとの通信はできている模様。
Windowsタスクバーのプロパティから見ても通知はonになってる。
解決は、なんのことはなく、
端末のOSを再起動したら表示されるようになった。
WEB-INF/conf/im-notice-mq-config.xmlの設定が関与していた。
<endpoint>について、サーバアドレスを記載する必要がある(初期値はlocalhost)。クライアントから接続できるアドレスに修正することで解消。
追記。
それでもバルーンが表示されないときは、endpointで見ているポート番号40608が塞がっている可能性がある。ファイアウォールの設定なども見直し対象に含めるとよい。
SQL> connect / as sysdba
接続されました。
SQL> create tablespace imart_user
2 datafile 'C:\oracle\oradata\orcl\imart_user.dbf' size 100m
3 autoextend on next 5m maxsize unlimited;
表領域が作成されました。
SQL> create user imart_user
2 identified by imart_password
3 default tablespace imart_user
4 temporary tablespace temp;
ユーザーが作成されました。
SQL> grant connect,resource,create view to imart_user;
権限付与が成功しました。
1.OracleインスタントクライアントをサイトからDLする。basicとodbcが必要。
2.両zipを同じフォルダに解凍する
3.解凍したフォルダにpathを通す
4.コマンドプロンプト(管理権限)で以下を実行
odbc_install JA
5.odbcのzipの中から「sqresus.dll」を再配置する(なぜか消えるので)
6.環境変数TNS_ADMINを作成し、解凍したフォルダを設定する
7.解凍したフォルダ直下に「tnsnames.ora」を新規作成する。中身のサンプルは以下。
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
8.ファイル名指定実行から「odbcad32」を指定してODBC設定を開く
9.追加からインスタントクライアントを指定
10.接続設定する。TNS Service Nameのドロップダウンが選択できること。
選択できない場合はTNS_ADMINやtnsnames.oraの設定を見直す。
※見直し後は、一度ODBC設定を閉じて再度開き直さないと反映されないので注意。
ログイン画面にアクセスすると500エラーと表示され、ログには以下のようなエラーが出力される。
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:234) at com.caucho.server.dispatch.FilterMapper.buildDispatchChain(FilterMapper.java:169) at com.caucho.server.webapp.WebApp.buildInvocation(WebApp.java:4119) at com.caucho.server.webapp.WebAppContainer.buildInvocation(WebAppContainer.java:798) at com.caucho.server.host.Host.buildInvocation(Host.java:753) at com.caucho.server.host.HostContainer.buildInvocation(HostContainer.java:319) at com.caucho.server.cluster.ServletService.buildInvocation(ServletService.java:1064) at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:250) at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:223) at com.caucho.server.http.AbstractHttpRequest.buildInvocation(AbstractHttpRequest.java:1609) at com.caucho.server.http.AbstractHttpRequest.getInvocation(AbstractHttpRequest.java:1582) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:820) at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1353) at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1309) at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1293) at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1201) at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:997) at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117) at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93) at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169) at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61) at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173) at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118) Caused by: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder at jp.co.intra_mart.foundation.router.RouterFactory.getRouter(RouterFactory.java:73) at jp.co.intra_mart.foundation.router.RoutingFilter.init(RoutingFilter.java:50) at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:204) ... 22 more
原因としては、ルーティング系の設定ファイルに不備がある可能性。
今回は、routing-jssp-configのxmlファイルを編集したのだが、
そのxmlファイル内に構文エラー(ダブルクォート抜け)があった。
よく見たら起動中のログにもxmlが解析できない旨のエラーが発生していた。