
JAVA・XUpdateの更新について
JAVA・XUpdateの更新について
【質問】******************************************************************
こんにちは、いつもお世話になっております。
さっそくなのですが、現在JAVAでXMLDB(eXist)の操作を行っております。
ですが、XUpdateのところでどうしてもエラーが出てしまいます。
検索してみましたが意味合いが分からなかったので、こちらに投稿させて頂きました。
御存じの方、宜しければ教えて下さい。
【参照URL様】************************************************************
ttp://f41.aaa.livedoor.jp/~fujishin/exist/lesson3.html
(DBの接続・検索まではうまくいきました。)
【エラー内容】*************************************************************
log4j:WARN No appenders could be found for logger (org.exist.xmldb.RemoteXUpdateQueryService).
log4j:WARN Please initialize the log4j system properly.
【ソース: Sample.java】******************************************************
import org.xmldb.api.DatabaseManager;
import org.xmldb.api.base.Collection;
import org.xmldb.api.base.Database;
import org.xmldb.api.modules.XUpdateQueryService;
public class Sample {
public static void main(String[] args) {
try {
Class clazz = Class.forName("org.exist.xmldb.DatabaseImpl");
Database database = (Database) clazz.newInstance();
DatabaseManager.registerDatabase(database);
Collection col = DatabaseManager.getCollection(
"xmldb:exist://localhost:5555/exist/xmlrpc/db/test","admin", "root");
XUpdateQueryService service =
(XUpdateQueryService) col.getService("XUpdateQueryService", "1.0");
service.setCollection(col);
StringBuffer xupdate = new StringBuffer();
xupdate.append("<modifications version=\"1.0\" xmlns=\"http://www.xmldb.org/xupdate\">");
xupdate.append("<update select=\"/root/data/ken[@id='4']/comment\">今年、行く予定です。");
xupdate.append("</update>");
xupdate.append("</modifications>");
service.update(xupdate.toString());
col.close();
} catch (Exception e) {
e.printStackTrace();
}}}
【環境】****************************************************************
Vista / jdk 1.6.0_14 / exsit 1.4.0 / Eclipse 3.2.0
投稿日時 - 2010-09-08 11:10:17
log4jの定義ファイルの中身が間違っているはずよ。
投稿日時 - 2010-09-08 15:47:33
私の場合、
C:\Program Files\eXist
C:\Program Files\eXist\tools\wrapper\conf
の下に「log4j.xml」というファイルがあるのですが、
これをいじればよいのでしょうか?
引き続き調べてみます。
投稿日時 - 2010-09-10 22:42:11
お返事ありがとうございます。
eXistに入っているlog4j-1.2.15.jarをそのまま使っていたのですが、
何か設定する所とかあるのでしょうか?
それとも、バージョンとかが異なるのでしょうか?
初心者ですが、私自身もう少し調べてみます。
何かご指摘があれば宜しくお願いします。
投稿日時 - 2010-09-09 22:02:56
このQ&Aは役に立ちましたか?
6人が「このQ&Aが役に立った」と投票しています
回答(2)
> log4j.xml
そのとおりよ。
ぐぐるときは
「log4j 設定」
「log.xml」
とかでぐぐるといいわ
投稿日時 - 2010-09-11 14:10:54
お返事ありがとうございます。
なんとかエラーがなくなりました。
私の場合は、
eXistフォルダに入ってる「log4j.xml」を
eclipseのworkspase/project/binフォルダに置くことによってエラーが消えました。
参考
http://oshiete.goo.ne.jp/qa/1567158.html
【補足】
WARNはエラーではなく警告なのですね。
この警告がXMLの更新できない原因だと思い込んでいました。
どうやらXUpdateの中身が違ったようです。(バージョンによって?)
正しくは、xupdate.appendの部分を
------------------------------------------------------------------------
xupdate.append("<xupdate:modifications version=\"1.0\" xmlns:xupdate=\"http://www.xmldb.org/xupdate\">");
xupdate.append("<xupdate:update select=\"/root/data/ken[@id='4']/comment\">今年、行く予定です。</xupdate:update>");
xupdate.append("</xupdate:modifications>");
------------------------------------------------------------------------
に変更したらうまく更新されました。
お返事下さった方有難うございます。
とても良い勉強になりました。
投稿日時 - 2010-09-11 22:28:44