2
1
0

Confluence 5.7.3をDB(Postgres)で使用しています。
Postgresにテーブルを作成し、プラグインから接続することを想定しています。
プラグインからDataSourceを使ってDB(Postgres)に接続してテーブルの読み書きをするようなサンプルのコードはないでしょうか? 

    Commentコメントを追加...

    1 回答

    1.  
      2
      1
      0

      ActiveObjectsによるDBのテーブル名(Kengo Ohsaki 2016/09/09)コメントより

       

      実際のところアドオンはJavaプログラムなのでJDBCで外部DBへ接続することはできます。

       

      なので…、プラグインからDataSourceを使ってDB(Postgres)に接続してテーブルの読み書きする方法としては、以下方法でできると思います。JIRAとなっていますが、Confluenceでも一緒です。

      https://answers.atlassian.com/questions/90026/answers/3593966

       

      DataSource dataSource;
      try
      {
          InitialContext initalContext = new InitialContext();       
          Context context = (Context) initalContext.lookup("java:comp/env");
          dataSource = (DataSource) context.lookup("jdbc/myDataSource");
      }
      catch (NamingException ex)
      {
          // ...
      }

      dataSource 経由でDBに接続できたら、あとはJDBCの世界かと思いますので

      JDBCのサンプルとかを参考にしていただければと思います。

      参考になりましたら幸いです。

       

      1. 阿久根宏明

        https://answers.atlassian.com/questions/90026/answers/3593966

        上記のDataSourceを使用する方法ですが、target/container/tomcat6x/cargo-confluence-home/conf/server.xml を編集後、SDK(開発環境)でatlas-run を実行すると server.xmlが上書きされてしまいます。何か回避する方法はあるでしょうか? 

         

         

      2. Kengo Ohsaki

        https://answers.atlassian.com/questions/53817/how-do-you-persist-database-connections-in-server-xml-when-developing-using-the-sdk のベストアンサーの方法で自分のtomcat.zip を作ってしまう方法があります…上記内容で言及されているのは以下のベストアンサーの内容ですね。

        https://answers.atlassian.com/questions/11337/using-mysql-instead-of-hsql-db-with-atlassian-pdk?page=1#12035

        あとは、atlas-run ではなく、atlas-debug で実行して、server.xml修正。atlas-debugで再度実行。別ターミナルで atlas-cli を実行しておき、アドオンを開発してアドオンの更新インストールが必要になったら、atlas-cliのターミナルで pi を実行すれば回避は出来たきがします…

        https://developer.atlassian.com/docs/developer-tools/working-with-the-sdk/command-reference/atlas-cli

      3. 阿久根宏明

        なるほど!大変、参考になりました。どうも、ありがとうございました。

      Commentコメントを追加...