2008年12月25日星期四

maven2真是强大,特别是索引功能,很方便搜索与查找

maven2 eclipse插件m2eclipse的索引文件建立在下面路径下
.metadata\.plugins\org.maven.ide.eclipse\nexus
 
在编辑pom时,可单击下面"Add Dependency"按钮:
 
然后,录入你要查找的api名,就可以看到自动索引出来的匹配结果:
 
可以集中查看Dependency Hiberarchy(依赖层次):
 
还可以查看依赖图(Dependency Graph)
 
如果用Nexus来作为私服的话,可以设置代理(Proxy repository), 如下面:
 
在Sonatype Nexus里面同样有高级搜索,如下面:
 
还可以将指定的jar等资源文件下载下来(单击artifact):

发现apache camel1.5有篇很经典的文档

发现apache camel1.5有篇很经典的文档
apache-camel-1.5.0\doc\manual\camel-manual-1.5.0.pdf
里面有许多关于router,ActiveMQ等结合的具体例子

如何解决测试本地Applet时出现access denied问题

可直接修改{JRE_HOME}\lib\security\java.policy文件,
加入
grant {
permission java.security.AllPermission;
};
或者
permission java.util.PropertyPermission "user.dir", "read";
然后,在出错的applet地方右键选取控制台,按s键,即重载java策略配置文件,确定
回到网页上来,刷新网页即可看到applet可以看到了。

如何修改maven2本地repository到另外一个文件夹

修改{MAVEN2_HOME}\conf\setting.xml,如下所示:
<settings>
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ~/.m2/repository
  -->
  <localRepository>F:/work/maven/repository</localRepository>
 
如果你安装了m2eclipse插件,还需要将
preferences >> maven >> installations 中的
User Settings改为你的{MAVEN2_HOME}\conf\setting.xml
这时,Local Repository会自动定位到却换后的repository上来。

2008年12月17日星期三

LifeKeeper软件介绍(高可用容错集群软件)

 
从下面介绍看,个人觉得很不错

美国SteelEye公司的LifeKeeper 是一种支持多种软(WindowNT, Windows2000, 多种Linux等)、硬件平台的高性能容错软件,最多可支持16台服务器集群。Lifekeeper软件源于美国NCR公司及著名的AT&T贝尔实验室。为企业、银行、政府等的信息服务,商务服务,政务服务等提供高可用性解决方案。

 LifeKeeper属于高可用容错集群软件,运行于NT、Windows 2000、Linux和NCR Unix平台。同时支持纯软件镜像方式和共享磁盘阵列柜方式,并支持远程灾难实时复制备份恢复系统。使用户的服务器、操作系统、数据库系统以及关键的数据及应用程序保持7天×24小时连续不间断,提供99.99%的高可用性。软件包括核心部分和一些针对不同应用的ARK。

LifeKeeper的关键特点

 1.不用增加任何额外硬件投资,纯软件方式实现双机容错,且对备机无硬件配置要求。
 
 2.可支持Notes、Exchange、SQL Server、Sybase、Informix、Oracle 、SAP等多种系统的应用层热恢复。
 
 3.是全球第一套基于NT操作系统的容错软件并同时支持LINUX平台。支持远程灾难备份。
 
 4.支持共享磁盘阵列柜和扩展镜像两种方式,给用户提供了选择上的灵活性,同时也能适应各种机型、网络结构、软件平台及应用系统。
 
 5.LifeKeeper在扩展镜像或共享磁盘阵列任意方式下,均能实现两台服务器各自运行不同应用且相互热备份,即实现双Active运转模式。
 
 6.使用共享磁盘阵列柜方式时,最多可以支持16个节点,远远大于其它类似系统所支持的2个节点数。
 
 7.最大限度地保护用户端的应用连续性。用户的硬件资源(如网卡),软件资源(如NT操作系统、数据库管理系统、数据库应用系统、电子邮件系统等)均能处于LifeKeeper的保护之下,当这些被保护资源出现技术故障时,LifeKeeper可随时实施系统资源切换。如此,LifeKeeper真正实现了用户硬件或是软件资源发生故障时系统及应用层上的在线热切换。
 
 8.LifeKeeper占用系统资源极少,不增加网络负荷,且不打扰任何具体应用系统的任何操作。
 
 9.LifeKeeper真正实现无人值守,全自动地实现应用资源切换,且图形界面操作,简单方便。
 
 10.自投入使用以来,已经历了大量交易高峰的实际考验,其执行效率很高且运行十分稳定可靠,全球市场占有率第一。

2008年12月15日星期一

tomcat下日志过大的问题

我的系统运行了一段时间,{tomcat_home}\logs下的stdout_xx.log发现这个日志非常大,达到几个G,我已经通过log4j输出自己的日志了,不需要tomcat再生成自己的日志,有什么办法关闭这个日志的生成。
 
log4j.rootLogger = INFO, stdout, file 或者 log4j.rootLogger = INFO, console, file
 
把其中的stdout不要就不会打出来啊!
 
log4j.rootLogger = INFO, file  

oracle 10.1.0.3 soa suite,odi install

soa suite高级安装:
1、先升级oracle database enterprise 10.2.0.2到10.2.0.4
用p6810189_10204_Win32.zip
2、创建需要创建的三个oracle shema脚本
3、安装soa_windows_x86_101310_disk1.zip
选择高级安装
 
odi有web版本的安装
 
进入em控制台
1. oc4j_soa>>应用程序>>中间件服务>>其他服务>>javasso 点"启动"
还是在em控制台
2. 集群拓扑>>参与的应用程序>>选择除"hw_services"的所有check box选项
3. 重启soa suite就可以了
 
owsm的sso还需要另外配置,初始帐户为admin/oracle,从网上查询如何sso整合
 
自己开发的bpel服务注册到owsm有问题,但例子中的utils下的credit...几个服务却可以。
 

解决当用远程桌面登录时,出现超出用户数最大的问题-强制登录

在windows开始->运行栏内录入并执行下面命令:
mstsc /console /v:172.16.4.38
最后面是你要远程访问的ip

解决mssql表被锁的问题-通过sql

  我们在操作数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单"tools"里面的"sessions"可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的会话就更难了,下面这叫查询语句可以查询出所以被锁的会话。如下: 
SELECT   sn.username, m.SID,sn.SERIAL#, m.TYPE,
         DECODE (m.lmode,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 lmode, LTRIM (TO_CHAR (lmode, '990'))
                ) lmode,
         DECODE (m.request,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 request, LTRIM (TO_CHAR (m.request, '990'))
                ) request,
         m.id1, m.id2
    FROM v$session sn, v$lock m
   WHERE (sn.SID = m.SID AND m.request != 0)         --存在锁请求,即被阻塞
      OR (    sn.SID = m.SID                         --不存在锁请求,但是锁定的对象被其他会话请求锁定
          AND m.request = 0
          AND lmode != 4
          AND (id1, id2) IN (
                        SELECT s.id1, s.id2
                          FROM v$lock s
                         WHERE request != 0 AND s.id1 = m.id1
                               AND s.id2 = m.id2)
         )
ORDER BY id1, id2, m.request;
通过以上查询知道了sid和 SERIAL#就可以开杀了
   alter system kill session 'sid,SERIAL#';