FreeBSD 6.0 CVSにハマる。

 CVS ServerをVMWare上のFreeBSD 6.0に建てようと思い、cvsupをしてPortsツリーを最新にして、


tmkbsd6# cd /usr/ports/devel/cvsd
tmkbsd6# make install clean
で、無事にインストールは終了し、数時間ハマったあげく、やっと繋がるようになりました。


 これが原因かどうかは不明ですが、cvsd-buildrootでエラーが出ていたのは事実ですので、見つけた解決策を転記しておきます。
原文はhttp://jroller.com/page/skjutare?entry=freebsd_6_0_cvsd


 問題点: cvsd-buildrootした時に下記エラーがでる。
Creating /var/lib/cvsd/dev devices... FAILED (unable to use devices)


 解決策:
/etc/fstab に追記する。
devfs /var/lib/cvsd/dev devfs rw 0 0

/etc/rc.conf に追記する。
 devfs_rulesets="/etc/defaults/devfs.rules /etc/devfs.rules"
 devfs_set_rulesets="/var/lib/cvsd/dev=devfsrules_cvsd_jail"

/etc/devfs.rules ファイルを作成する。
 [devfsrules_cvsd_jail=10]
 add hide
 add path null unhide
 add path zero unhide

/var/lib/cvsd/devをmountする。


その後、

  1. /usr/local/etc/cvsd/cvsd.conf.sampleを/usr/local/etc/cvsd/cvsd.confへrename
  2. cvsd.confのListen * 2401のコメントをはずして、外部から接続をさせる。
  3. cvsd.confの最終行にRepos /myrepoを追加する。
  4. cvs -d /var/lib/cvsd/myrepo initでレポジトリを作成する。
  5. cvsd-passwd /var/lib/cvsd/myrepo +tester1でリポジトリへアクセスする際のパスワードを作成する。
  6. /usr/local/etc/rc.d/cvsd.sh.sampleを/usr/local/etc/rc.d/cvsd.shへrenameする。
  7. chmod +x /usr/local/etc/rc.d/cvsd.sh startにてCVSを起動する。

 Eclipseから何度も接続に行くも、Passが違うとけられる。こんそーるから

cvs -d :pserver:tester1@192.168.x.x:/myrepo login してみると、passを聞いてくるので入れると繋がった。一度繋がるとEclipseからも問題なく繋がった。

 さて、この数時間は一体なんだったんだろ〜。

なんと英語関連のメルマガを発行しました。

 英語関連のメルマガを発行しました。英語をもう一度と思われる方は試して頂けると、ありがたいです。以下からどうぞ。


『英語じゃ、そう言うの?』(ID:0000184626) 読者登録解除フォーム


メールアドレスを入力してボタンを押すと登録・解除できます。




登録フォーム






解除フォーム








まぐまぐ!』から発行しています。

JBoss Seam 1.0 beta 2 released.

 結構、放置プレーだったJBoss Seam 1.0 beta 2 ですが、やっとリリースされました。詳細は以下から


http://www.jboss.com/index.html?module=bb&op=viewtopic&t=77017


JBoss Application ServerのEJB 3.0関連もEJB 3.0のProposed Final Draftが出て、相当変更があったようで、CVSからのサンプルがJBoss AS 4.03SP1では動かないと言う状況も続いていましたが、同じくJBoss AS 4.0.4 RC1がリリースされたので、それもやっと終わりかなと安心しています。

 これからダウンロードして試してみます。


 後は、Seam用のIDEJBoss Eclipse IDEに統合されるようなので、それも楽しみです。

JBoss EJB 3.0 RC4 - PFD Released

SourceForge.netからEJB 3.0 RC4 - PFDがリリースされましたとメールがきました。先週末に出るハズだったJBoss 4.0.4 RC4JBoss Seam beta 2も未だに出ていません。オープンソースのお約束は出るときには出るなのですが、放置プレーは止めてください。


 こんな情報もあります。

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=76396

Mailが届かない。

 Sendmailのエラーのようですが、syslogに


Jan 17 08:01:10 www sm-mta[87211] : xxxxxxxx7087221 : SYSERR(root) :
collect : I/O error on connection from from smtpout1110.xxx.xx.net,
from=<>


と、他のsmtpから接続される度に記録されていっこうにメールが受信出来ません。サポートに確認してもらうと、同じServerで動いている他のJail環境では問題がないそうです。


 最終的にServerを借りている業者さんにセカンダリDNSをお願いしていたのですが、そのDNSに問題があったようで、解決しました。サポートの方は親切で、解決に向けて大変な労力を掛けて頂いたことには感謝です。しかし、土、日、月(祝日)の三日間連絡がつかなかったので大変困りました。

JBoss Seam BookingサンプルをPostgreSQLで試す。

 JBoss Seamのサンプルアプリケーション Bookingは付属のHSQLDBと言うDatabaseを使用していますが、これを以前セットアップしたPostgreSQL 8.1に換えてみました。

 環境は下記の通りです。

DB:VMWare上のFreeBSD 6.0へportsでインストールしたPostgreSQL 8.1
Client:Eclipse 3.1.1
JBoss-IDE 1.5RC1
TestNG for Eclipse 4.2.0

  • CVSから最新のjboss-seamを持ってくる。
  • build Pathにantlr-2.7.6rc1.jarを加え、antlr-2.7.5H3.jarを削除する。
  • examples/booking/resources/booking-ds.xmlを編集する。

        <datasources>
            <local-tx-datasource>
                <jndi-name>bookingDatasource</jndi-name>
                <connection-url>jdbc:postgresql://192.168.xx.xx:5432/ejbtest</connection-url>
                <driver-class>org.postgresql.Driver</driver-class>
                <user-name>tester1</user-name>
                <password>himitsu</password>
            </local-tx-datasource>
        </datasources>

  • examples/booking/resources/META-INF/jboss-beans.xmlを編集する。
    • driverClassを上記のようにorg.postgresql.Driverへ。
    • connectionURLを上記のようにjdbc:postgresql://192.168.xx.xx:5432/ejbtestへ。
    • userNameを上記のようにtester1へ。
    • himitsuを追加する。
  • examples/booking/resources/META-INF/persistence.xmlを編集する。
  • build.propertiesのjboss.homeをJBOSS_HOMEへ変更する。
  • build.xmlのproperty name="deploy.dir"のvaluevalue="${jboss.home}/server/postgres/deploy"へ変更する。
  • examples/booking/src/User.javaを編集する。PostgreSQLではuserは予約語なのでuserと言うテーブルは作成出来ない。
    • クラスに@Table(name="Users")を追加する。
  • buildする。

 
 以上でDeployまで終わっているので、JBossを-c postgresで起動します。JBoss自身が使用するテーブルの他にBookingアプリケーションのテーブルbooking, hotel,usersが作成されていますが、テーブルは空なので、examples/booking/resources/import.sqlの各行を実行します。最後にhttp://localhost:8080/seam-bookingへアクセスしてみます。



 上記でPostgreSQLで動作するのですが、SeamにはTestNGを使って簡単にテストを行うことが出来ます。せっかくですのでTestNGを使ってのテストもPostgreSQLを使って行えるようにします。TestNGで行うテストはJBoss本体を使用しないで、Embeddable EJB3を使っているようです。

  • embedded-ejb/conf/default.persistence.propertiesを編集します。
  • embedded-ejb/conf/embedded-jboss-beans.xmlを編集する。
    • bean name="DefaultDSBootstrap"のdriverClass, connectionURL, userNameを編集し、passwordプロパティを追加する。
  • examples/booking/src/Hotel.javaを編集する。
    • stateの@Length(min=2, max=2)をmax=20へ。Hibernateのhbm2ddlがテーブルを作成する際にstateフィールドがchar(2)で作成され、import.sqlが実行される際にUSA以外のホテルのstateのフィールドが国名となっているため2文字以上のstateフィールドを持つInsert文が失敗する為です。


後は、EclipseのDebugからTestNGを選択してテストを行えばOKです。