索引
J2EE 技术积累
JBoss4.x的数据源配置
oracle数据源的配置记录,其他数据源类似,配置文件名稍有不同,比如mysql则为mysql-ds.xml,以下为oracle的配置记录:
- 拷贝%JBOSS_HOME%\docs\examples\jca\oracle-ds.xml文件到对应domain下的deploy目录
- 修改%JBOSS_HOME%\server\default\deploy\uuid-key-generator.sar\META-INF目录下的jboss-service.xml文件,将DefaultDS修改为实际配置的JNDI名称
- 修改%JBOSS_HOME%\server\default\deploy\ejb-deployer.xml文件,将DefaultDS修改为实际配置的JNDI名称
- 拷贝%ORALCE_HOME%\ora92\jdbc\lib目录下的ojdbc14.jar到%JBOSS_HOME%\server\default\lib目录
假设上面配置的JNDI名称为:pandoraDS,在应用中通过spring的配置方式来访问数据源的,如下:
1 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 2 <property name="jndiName" value="java:/pandoraDS"/> 3 </bean>
CVS服务器的搭建
在Linux9以及Linux ES3上直接内置了cvs,以下是在linux9上记录的cvs服务器端安装步骤:
-
查看是否安装cvs
#rpm -qa | grep cvs
注:一般安装在/usr/bin/cvs,如果未安装到www.cvshome.org下载一个最新的rpm安装即可
-
建立cvs用户组,便于管理cvs用户
#groupadd cvs
-
建立cvs组的cvsroot用户和所属的目录
#useradd -g cvs -G cvs -d /home/cvsroot cvsroot
-
为cvsroot用户添加密码
#passwd cvsroot
-
改变/home/cvsroot的目录属性
#chmod 775 /home/cvsroot
-
初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件
#cvs -d /home/cvsroot init
-
创建可以登陆cvs服务的用户及密码,需要创建文件passwd
#vi /home/cvsroot/CVSROOT/passwd weiqiong:xxxxxx:cvsroot chenxu:xxxxxx:cvsroot
此文件的意思是weiqiong和chenxu两个用户可以登陆cvs服务器,登陆后其权限为用户cvsroot的权限 注:cvs用户和服务器用户是可以不一样的
-
xxxxxx为密码,由以下文件生成:
#vi /home/cvsroot/passwdgen.pl
#!/usr/bin/perl srand (time()); my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))"; my $salt = sprintf ("%c%c", eval $randletter, eval $randletter); my $plaintext = shift; my $crypttext = crypt ($plaintext, $salt); print "${crypttext}\n";
将文件的属性修改为可以执行: chmod 755 passwdgen.pl
-
如果需要密码为:test,则敲入:
#./passwdgen.pl "test"
回车即可得到加密密码,用其替换passwd文件中的xxxxxx
-
加入cvs服务(如果缺省有cvs服务,就可以不用加)
#vi /etc/services cvspserver 2401/tcp #pserver cvs service cvspserver 2401/udp #pserver cvs service
-
使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务:
#cd /etc/xinetd.d #vi cvspserver
service cvspserver { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure += USERID }
注:如果有多个repository的话,按照下面的方式修改: server_args = -f --allow-root=/home/cvsroot --allow-root=/home/ncrroot pserver 然后添加对应的用户ncrroot,让该用户的根是/home/ncrroot passwd的最后为新建的用户名ncrroot
-
重新启动xinetd:
#/etc/rc.d/init.d/xinetd restart
-
检查cvspserver服务是否已经启动
#netstat -l | grep cvspserver tcp 0 0 *:cvspserver *:* LISTEN
-
测试:
#cvs -d :pserver:[email protected]:/home/cvsroot login
敲入命令回车后提示输入xiajx的密码,你按照自己设置的密码输入 如果没有什么错误信息出现就是成功了(我的机器IP地址是192.168.100.92,也可以用localhost).
PS:如果是迁移原有cvs的repository的话,只需要将原有的repository整个拷贝到/home/cvsroot中即可.
CVS的一些技巧
CVS会对它内部的关键字自动更新,如$date$放在文件中每当commit时它会自动记录日期, 加入这些关键字再我们的文档或代码里就可以自动记录相关信息,关键字如下:
- $Id$:关键字
- $Log$:你所提供的修改日志信息。
- $Author$:存入该版本的作者。
- $Locker$:该版本的加锁者
- $State$:该版本的状态 Exp(试验版), Stabe(稳定版), Rel(发行版).缺省是Exp
- $Date$:该版本存入的时间,使用UTC时间格式。
- $Revision$:该版本的版本号
- $RCSfile$:RCS文件名
- $Source$:RCS全路径名
- $Name$:取回该版本的符号名
- $Header$:相当于$ Source $$ Revision$$Date$$Author $$State$$Locker$的组合