+-----------+
| 2007.9.20 |
+-----------+
1. 有关tfa_alarm_act和tfa_alarm_status的SQL
select * from fmdb:tfa_alarm_status s
where fp0 in(
select fp0 from fmdb:tfa_alarm_act f where f.int_id in(
select int_id from nrmdb@gjjnpmser:objects o where o.object_class=101)
)
and ack_flag=1 and active_status in (0,3)
+-----------+
| 2007.10.9 |
+-----------+
1.调整话务网的路由过滤器
2.将服务器端打包,配合客户端发布新版本
3.回复项目管理部,确认BUG修改时间
+------------+
| 2007.10.10 |
+------------+
1.抠取世界地图轮廓在呈现时发现在数据库中国家id和运营商id有相等的情况,通过讨论,决定从程序中修改。
2.调试HuijieRouteFilter
3.测试人员联系,发现我们的需求文档是不一样的。
(1)network部分呈现的告警
(2)话务三级呈现的告警
+------------+
| 2007.10.11 |
+------------+
1.设计路由部分的服务器端和客户端程序。
2.发现我这边开发用的需求文档和测试用的需求文档有出入,发邮件给姜政伟让他确认。
3.设计的路由部分让刘刚看,发现基本上不能使用。刘刚讲了用规则直接生成告警。发现许多东西还是要灵活运用才好,刚开始可能因为好多东西还不熟悉,所以这要在以后多多培养。
+------------+
| 2007.10.12 |
+------------+
1.jboss的日志路径
/export/home/jboss/jboss-4.0.1sp1/server/default/log
2.下午讨论需求国际局与测试人员不同的地方。
3.设计路由的告警处理规则。
+------------+
| 2007.10.15 |
+------------+
1.上午开例会,总结上午工作,明确本周工作,听MQ讲座。
2.完成世界地图的描图工作。
3.思考路由解决方案。
+------------+
| 2007.10.16 |
+------------+
1.上午设计路由解决方案。
2.对描图中没有完成的工作进行核查,校正。
3.对取话务性能告警的DAO做了该经,取告警速度提高。
+------------+
| 2007.10.17 |
+------------+
1.修改客户端程序,当点击某个国家时,才显示这个国家的名称。在JTGO的CSS里对象后面可以加:selected,代表这个对象是选中的,这样就可以配置选中这个对象的属性了。
2.Informix在数据库中给某个用户付权限
grant resource to 用户名
grant connect to 用户名
3.下午游欣讲解了关于告警存储和清除的逻辑。在fmdb中的tfa_alarm_act中存储的是活动告警,有一个程序会将已经清楚的告警从这个表中删除。
+------------+
| 2007.10.18 |
+------------+
1.完成了对国际局话务路由告警的设计,明天开始些代码实现。
+------------+
| 2007.10.19 |
+------------+
1.YYIP:10.0.18.12
+------------+
| 2007.10.22 |
+------------+
1.关于Spring配置JDBC的返回的最大行数:用SQL直接查询是一万多条,可是测试时得到的LIST的大小是10000,后来发现这个数目是在配置JDBCTemplate是配置的。在配置JDBCTemplate时有个<property name="maxRows">这个是用来配置最大返回行数的。
2.完善路由告警规则,测试。
3.在jruls规则中修改了一个对象的属性后,要用update更新这个对象,否则再次获得这个对象的属性可能还是原来的属性。
+------------+
| 2007.10.23 |
+------------+
1.在jrules的workmemory中直接new一个对象,workmemory并不会自动保存这个对象,只有经过insert之后这个对象才在workmemory中存在。
+------------+
| 2007.10.24 |
+------------+
1.完成了话务路由告警生成规则的测试。
2.下午修改话务三级拓扑,根据新的需求取出所需要的数据。
+------------+
| 2007.10.25 |
+------------+
1.上午完成路由告警客户端测试。
2.有关VHE和话务路由的有关问题又问了相关人员,并发送邮件提出问题。
+------------+
| 2007.10.26 |
+------------+
1.a局是TMSC1负责省际业务。d局是GMSC,关口局。TMSC2负责省内业务。isc,outisc,tmsc,gmsc都是msc只是功能不一样。
+------------+
| 2007.10.29 |
+------------+
1.修改程序,发布服务器端新版本。
2.继续调试程序,修改了告警生成规则文件。
+------------+
| 2007.10.30 |
+------------+
1.继续调整服务器端BUG。
2.object_class=702:link,object_class=602:linkset
3.?性能数据现在需要定位到国家上,但是在关联tpa_destcode_sum表和temp_country_info时,由于destcode的问题,有大部分数据无法定位到国家。对于实时性能消息,通过ne_id的userlabel与temp_country_info关联得到目的国家ID。
4.发送邮件要求修改客户端启动图片。
5.开发vhe路由告警。
+------------+
| 2007.10.31 |
+------------+
1.开发vhe路由告警,由link告警生成linkset的告警。
2.处理二级拓扑实时数据的发送与接收问题,在客户端设置过滤,在服务器端设置字段来区分不同设备的性能和告警数据。
+----------+
| 2007.1.1 |
+----------+
1.mq队列管理器的相关命令:
dspmq --查看当前的队列管理器信息
runmqsc 队列管理器名 --运行队列管理器
dis ql (队列名) --查看某一队列的详细信息
define ql(对列名) --新建队列
2.把运营商放到国家区域后,就无法选中,后来发现是JTGO图层的问题。但现在问题还没有解决。
3.现在点击目的国家呈现到目的国家所有路由的功能已经实现。在此过程中发现了一些数据问题,明天将通过邮件发送给有关人员。
+-----------+
| 2007.11.5 |
+-----------+
1.关于unix,在solaris中,每个文件都对应一个i_node(节点)号。使用'ls -i 文件名'命令可以查询文件的i_node号。如果某个文件以空格或者以下划线开头,就无法用rm命令删除,这时候就可以用'unlink 节点号'这个命令去删除文件。
2.关于unix, 'pfiles 进程号'可以查看某进程打开的文件的节点号。'find -i 节点号' 可以查询某节点号对应的文件。和进程有关的命令:ptree,pmap。
3.使用eclipse进行RCP开发,在eclipse.org的标题:Eclipse Rich Client Platform Tutorial - A Hands-on-Guide。
+-----------+
| 2007.11.7 |
+-----------+
1.测试话务路由获得数据窗口数据的代码。
2.设置informix的隔离级别:
“Set Isolation To isolationlevel”SQL语句,其中isolationlevel是Dirty Read、Committed Read、Cursor Stability和Repeatable Read之一。在Informix-4gl、ESQL/C、SQL中均可以使用。
Informix 进程隔离级(isolation level)
隔离级是指并发执行相同操作的进程相互隔离的程度。OnLine通过设定进程在读操作时上锁的不同规则而提供了四种隔离级:Dirty Read(脏读)隔离、Committed Read(提交后读)隔离、Cursor Stability(游标固定)隔离和Repeatable Read(可重复读)隔离具体说明如下:
1、Dirty Read(脏读)隔离
Dirty Read是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、Committed Read(提交后读)隔离
当进程请求Committed Read隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
3、Cursor Stability(游标固定)隔离
当进程使用Cursor Stability隔离级时,OnLine对进程最后获取的一行数据上锁,对普通的游标上一个共享锁,而对修改游标一个升级锁(更新锁)。
4、Repeatable Read(可重复读)隔离
Repeatable Read隔离级请求数据库服务器对进程读到的每一行数据都加锁为普通的游标加上共享锁而为修改游标上更新锁这些锁直到游标关闭或事务结束时才释放。Repeatable Read允许用户使用滚动游标对所选择的数据多次读取并保证这些数据没有被修改或被删除。
3.在配数据源时可以在数据源文件里面配置<new-connection-sql>,这样在进行所有的数据库操作前,都会先执行这条语句。例如可以在这里设置informix的隔离级。
+-----------+
| 2007.11.8 |
+-----------+
1.话务路由数据窗口数据,在服务器端已经实现,今天主要完成客户端开发。
+-----------+
| 2007.11.9 |
+-----------+
1.完成话务路由开发。
+------------+
| 2007.11.12 |
+------------+
1.国际局路由告警类型:
trunkgroup port告警:object_class=704
trunkgroup路由阻断告警:sub_alarm_type=9995
vhe link告警:object_Class=702 and sub_alarm_type=111111
2.完成vhe路由客户端程序开发。
3.对话务性能部分代码进行了修改。
4.完成新版本提交。
+------------+
| 2007.11.13 |
+------------+
1.与客户讨论,对现在的程序获得了许多宝贵意见。
2.下午参见MQ培训,对MQ有了进一步了解。牵涉到的概念有群集负载、MQ与webService、SOA、ESB。
+------------+
| 2007.11.15 |
+------------+
1.对客户提出的意见,进行整理,并与相关人员确定任务。
2.对国际局路由的地图进行重描。
+------------+
| 2007.11.16 |
+------------+
1.解决路由点击连线显示属性的问题,但是不知道怎么解决,给Ilog打电话关机。等等再跟他们联系。
+------------+
| 2007.11.19 |
+------------+
1.确认话务一二级拓扑网元属性已能正确显示。
2.查找文档,解决拓扑地图问题。
3.总体进度:今天主要是发布了新版本给测试人员测试。查找文档试图解决描图问题。
+------------+
| 2007.11.20 |
+------------+
1.试图通过jviews的samples来完善地图,但是失败。
2.整理出告警数据文档。
3.修改程序,现在目的信令节点不可达告警已经能在拓扑界面上呈现。
+------------+
| 2007.11.22 |
+------------+
1.完成对话务华为告警数据的改造。
2.修改话务路由拓扑程序。
+------------+
| 2007.11.23 |
+------------+
1.修改话务路由程序。
+------------+
| 2007.11.24 |
+------------+
1.对于JTGO中当设置网元与多边形轮廓(IltPolyGroup)之间的连线时,对于多边形来说,是以label或者icon为中心的。
+------------+
| 2007.11.25 |
+------------+
1.整理出话务路由拓扑设计的文档。
2.核查db人员更新的temp_country_info表。
3.继续开发程序,发现数据问题及时提出。
+------------+
| 2007.11.27 |
+------------+
1.与美工讨论国际局地图展示问题。
2.查看测试提交的bug,发现了一些问题,有些是数据问题,通过邮件通知相关人员。
+------------+
| 2007.11.28 |
+------------+
1.使用javaService可以把java程序发布成操作系统的服务运行。
2.跟美工一起完善国际局国家轮廓。
3.有些性能指标不能呈现,把问题包给黄行知。对已有的bug做了修改,不能修改的,已经找到了原因。
+------------+
| 2007.11.29 |
+------------+
1.修改了在性能拓扑中,有些网元存在性能指标不存在的问题。
2.在jboss的\server\default\conf目录中,login-config.xml定义了jboss的安全性域。在其它地方可以用java:/jaas/+“安全域名”的形式去使用这些安全域。
+------------+
| 2007.12.28 |
+------------+
1.unix的环境变量存储在.cshrc文件中。
2.关于话务路由按路由级别和目的国家获得路由集合的sql:select distinct related_msc,route_branch, destcode_name
from traf_route_rela where destcode_name =600。
+----------+
| 2008.1.3 |
+----------+
1.JTGO可以在选择或者不选择对象时,改变对象的label,这样会有动态效果。
2.selectionBorderForeground和selectionBorderBackground可以控制选择对象的背景颜色。也可以让选择的对象有动态的效果。
+----------+
| 2008.1.6 |
+----------+
1.spring的timerTask,配置中,delay是用来设置timerTask的延迟时间,即程序启动后多长时间开始执行timerTask。period用来指定timerTask的执行频率,即timerTask开始执行后以多长时间为间隔重复执行。
2.在eclipse的org.eclipse.jface.viewers.TreeViewer中,ISelectionChangedListener用来监听选中元素的改变事件SelectionChangedEvent,SelectionChangedEvent.getSelection()可以是包含元素的IStructuredSelection,根据这个IStructuredSelection,可以获得选中的相关元素,并对它们进行操作。相关实例代码:
class MySelectChangeListener implements ISelectionChangedListener {
public void selectionChanged(SelectionChangedEvent event) {
if(event.getSelection() instanceof IStructuredSelection) {
final IStructuredSelection selection = (IStructuredSelection)event.getSelection();
if(selection.getFirstElement() instanceof KpiMsg){
MenuManager menumanager = new MenuManager();
menumanager.setRemoveAllWhenShown(true);
menumanager.addMenuListener(new IMenuListener(){
public void menuAboutToShow(IMenuManager manager) {
manager.add(new CountAlarmAction(selection,viewer));
}
});
Menu menu = menumanager.createContextMenu(viewer.getTree());
viewer.getTree().setMenu(menu);
}
}
}
}
+-----------+
| 2008.1.28 |
+-----------+
1.在jface的treeViewer设置input时,老是报
!ENTRY org.eclipse.jface 4 2 2008-01-28 10:02:15.859
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.IllegalArgumentException: Argument cannot be null
at org.eclipse.swt.SWT.error(SWT.java:3358)
at org.eclipse.swt.SWT.error(SWT.java:3297)
at org.eclipse.swt.SWT.error(SWT.java:3268)
at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
at org.eclipse.swt.widgets.TreeItem.setText(TreeItem.java:1540)
at org.eclipse.swt.widgets.TreeItem.setText(TreeItem.java:1575)
at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:265)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:834)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:465)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1949)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:738)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:716)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:690)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:872)
at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1271)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1317)
at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1260)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:250)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1536)
at cmcc_nms_topo_client.views.HuawuErrsionEquimentComposite.setIlpObject(HuawuErrsionEquimentComposite.java:160)
at cmcc_nms_topo_client.views.HuawuEricssonEquimentTreeView.setIlpObject(HuawuEricssonEquimentTreeView.java:79)
at cmcc_nms_topo_client.actions.DefaultClickAction$1.run(DefaultClickAction.java:136)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at cmcc_nms_topo_client.Application.run(Application.java:38)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
这样的错误,后来发现是因为在实现ILabelProvider的getText方法时调用了某个对象的getAttributeValue("name"),然而这个方法返回null,后来把它改为getAttributeValue("zh_name"),正常得到了这个对象的名字,问题就解决了。原来一直怀疑是在setInput时发生了异常,其实不是这样,看起来在以后发现异常时要去观察所有可能发生异常的地方,也许间接的关系也会导致问题的发生。
2.sql中的group by的一个用法,比如要查询在某个表中不同related_msc,destcode_name的数据的数目,可以用下面的sql来实现:
select a.related_msc,a.destcode_name, count(*) routeCount from traf_route_rela a group by a.related_msc ,a.destcode_name order by routeCount desc,这里的group by是将数据按照related_msc,destcode_name分组,然后调用count函数取出总的数目。这里要注意的是一定要将分组的(group by后面的)字段写在前面,将调用的函数写在后面。同样这种情况先可以根据需要使用不同的函数。
+-----------+
| 2008.3.10 |
+-----------+
1.jboss的jms配置文档:
……
6.3. JBoss Messaging Configuration and MBeans
This section defines the MBean services that correspond to the components introduced in the previous section along with their MBean attributes. The configuration and service files that make up the JBossMQ system include:
deploy/hsqldb-jdbc-state-service.xml: This configures the JDBC state service for storing state in the embedded Hypersonic database.
deploy/jms/hsqldb-jdbc2-service.xml: This service descriptor configures the DestinationManager, MessageCache, and jdbc2 PersistenceManager for the embedded Hypersonic database.
+-----------+
| 2008.3.12 |
+-----------+
@SuppressWarnings
java.lang.SuppressWarnings
deploy/jms/jbossmq-destinations-service.xml: This service describes defines default JMS queue and topic destination configurations used by the testsuite unit tests. You can add/remove destinations to this file, or deploy another *-service.xml descriptor with the destination configurations.
jbossmq-httpil.sar: This SAR file configures the HTTP invocation layer.
deploy/jms/jbossmq-service.xml: This service descriptor configures the core JBossMQ MBeans like the Invoker, SecurityManager, DynamicStateManager, and core interceptor stack. It also defines the MDB default dead letter queue DLQ.
deploy/jms/jms-ds.xml: This is a JCA connection factory and JMS provider MDB integration services configuration which sets JBossMQ as the JMS provider.
deploy/jms/jms-ra.rar: This is a JCA resource adaptor for JMS providers.
deploy/jms/jvm-il-service.xml: This service descriptor configures the JVMServerILService which provides the JVM IL transport.
deploy/jms/rmi-il-service.xml: This service descriptor configures the RMIServerILService which provides the RMI IL. The queue and topic connection factory for this IL is bound under the name RMIConnectionFactory.
deploy/jms/uil2-service.xml: This service descriptor configures the UILServerILService which provides the UIL2 transport. The queue and topic connection factory for this IL is bound under the name UIL2ConnectionFactory as well as UILConnectionFactory to replace the deprecated version 1 UIL service.
We will discuss the associated MBeans in the following subsections.
……
更加详尽信息见各版本jboss的Configuration Guide (JBoss AS Guide)。JBoss Application Server的文档分为三种:Javadoc、Getting Started Guide、Configuration Guide (JBoss AS Guide)可根据具体需要查阅不同文档。
+-----------+
| 2008.3.17 |
+-----------+
1.oracle选取一定行数数据的方法:
(1)select * from (select rownum id,t.* from tfa_alarm_act t) where id between 20 and 30
(2)select * from tfa_alarm_act where rownum <100
+-----------+
| 2008.3.18 |
+-----------+
(1)从此网站可以得到在html中显示各种样式钟表的代码:http://www.clocklink.com/
(2)电影:人类灭亡以后
(3)java应用中的三种包文件:
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
ear包:企业级应用,通常是EJB打成ear包。 ear是J2ee的应用文件的扩展名是Enterprise Application Achiever,是打包了的企业应用程序,里面可包含war(web Application archiever),ejb等
ear包:企业级应用,通常是EJB打成ear包。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:Java Archive,Java 归档文件,通常是开发时要引用通用类,打成包便于存放管理。
(4)下载10.46.1.235的文件:
上传:ftp 132.32.19.220 maintain/maintain6789
下载:fpt 10.0.251.251 maintain/maintain6789 非FTP:maintain/cmccguest
+-----------+
| 2008.3.19 |
+-----------+
(1)informix查看存储过程和表结构命令:
dbschema -d 数据库名 -f 存储过程名
dbschema -d 数据库名 -t 表名
(2)oracle中查看存储过程用工具比较简单(比如:PL/SQL),命令较复杂。
(3)10.46.1.235用户名/密码:daladmin/daladmin or mqadmin/mqadmin
福建现场目录:/export/home/mqadmin/fjalarm/GEVT-FJ-070928/cfg/common_service
+-----------+
| 2008.3.22 |
+-----------+
(1)17:57:00
+-----------+
| 2008.3.25 |
+-----------+
(1)TD客户端:http://10.0.0.18:58080/webAlarm
(2)能用PL/SQL的机器:10.130.21.151 qushaohua password
(3)登福建10.0.4.248 maintain testmain
10.46.1.214 administrator/fjalarm_007
+----------+
| 2008.4.2 |
+----------+
1.使用jar命令制作可执行jar文件。
“jar cvfm 文件名.jar MANIFEST.MF 目录名\”
在MANIFEST.MF中可以增加一些属性,如Main-Class:和Class-Path:用来指定运行此jar包的mainclass和classpath。
+----------+
| 2008.4.8 |
+----------+
ftp登录:ftp://10.130.21.151
用户名:ftpuser
密码:ftpuser
Software 常用软件目录
Doc:技术文档目录
Movie:电影目录
1. 可以针对不同的告警,根据需求设定相同的告警产生次数,当达到告警频次门限时,进行故障升级处理或者产生一条新告警
2. 设置链路DOWN为重要告警,当DOWN时间超过5分钟后,自动升级为紧急告警并发送短信告警通知
3. 如果在某个时间窗内,发生一定次数,即满足频次条件,此时触发短信转发、语音转发以及派发工单,同时构成了事件,将事件相关信息(事件级别、事件类别、前转标示等)呈现到客户端
4. 通用有效告警以厂家ID和告警号作为条件,称符合条件的告警为通用有效告警
5. 对于通用/专业有效告警,延迟一定时间做短信转发、语音转发以及派发工单(各个延迟时间是可以配置的),同时构成了事件,将事件相关信息(事件级别、事件类别、前转标示等)呈现到客户。
+-----------+
| 2008.4.10 |
+-----------+
1.10.0.0.111 maintain/cmccinterface
2.10.46.1.228 administrator/fjalarm_008可以使用现场库的pl/sql
3.10.0.4.248 maintain/testmain可以连到228
+-----------+
| 2008.4.19 |
+-----------+
1./usr/ucb/ps -awwx|grep java查看相关进程信息
+-----------+
| 2008.4.29 |
+-----------+
terminal 10.0.251.251 maintain/cmccguest
远程桌面访问黑龙江数据网管接口机
terminal 10.110.180.70 administrator/BOCODNMS
告警服务主机
telnet 10.110.144.114 dnmsadm/App789@Dnms
数据库fms/Fms123?Boco
段庆应,你好:
现在客户端呈现派单工单号,实现此功能需要对模型和库表做修改。
1.修改AlarmObject.java,增加forward_sheet属性,为String型。
2.需要在tfa_alarm_act和tfa_alarm_his表中增加forward_sheet,
+-----------+
| 2008.5.12 |
+-----------+
1.truss -t \!all -s \!all -T exit -p <pid>
+-----------+
| 2008.5.13 |
+-----------+
1.登黑龙江服务的快捷方式:先登到telnet 10.1.85.82 mqadmin/mqadmin,然后登telnet 10.110.144.114 dnmsadm/App789@Dnms
2.http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/java.html详细介绍了java运行时的各个参数。
+-----------+
| 2008.5.16 |
+-----------+
1.Spring配置jndiTemplate
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">10.46.1.236:31099</prop>
<prop key="java.naming.factory.url.pkgs">org.jnp.interfaces:org.jboss.naming</prop>
</props>
</property>
</bean>
2.1000-0851-8851
+-----------+
| 2008.5.17 |
+-----------+
13304513955
13520755505
+-----------+
| 2008.5.21 |
+-----------+
1.在oracle数据库中如果插入数据的sql中需要插入日期字段,用如下的sql完成:insert into tabla_name (column1,column2,column_date) values ('a','b',sysdate)。sysdate是oracle取系统时间的函数,在Sybase中是getdate()函数。
2.MQ的部分命令:
dis qmgr显示默认队列管理器信息
dspmqbrk
strmqbrk
dis qs(*)
runmqsc
alter qmgr ccsid(819)修改队列管理器的ccsid
+-----------+
| 2008.6.02 |
+-----------+
1.V$SESSION--"This view lists session information for each current session."。ORACLE中提供了像V$SESSION这样的视图,可以查看ORACLE的配置、运行状态等信息。更多信息,可以去www.g.cn搜索。
+-----------+
| 2008.6.06 |
+-----------+
1.amqmdain qmgr start QSH_QM,使用此命令启动MQ
+-----------+
| 2008.6.16 |
+-----------+
1.lsdev显示AIX的系统设备。 lsdev|grep Processor显示系统的处理器信息。
+-----------+
| 2008.6.17 |
+-----------+
处理mq回滚失败,使用rsvmqtrn -m MY_QMGR_NAME -a,参考:http://www.lifeng.name/document/manual/mqm/amqzzg/amqzzg30.htm。
+-----------+
| 2008.6.18 |
+-----------+
10.0.18.202 administrator/killyou
在登到 221.130.254.61 dnmsalarm alarm#$%
段庆营 说:
在登到 10.1.97.139 alarm alarm
+-----------+
| 2008.6.27 |
+-----------+
目前告警服务存在的问题:
1.无法区分核心代码与二次开发代码,每个现场都有不同的需求,对于同一个功能可能就会有不同的需求,造成同一类名会有不同几个版本的代码。类似于EJB接口的问题,不同的现场可能需要不同的EJB接口,如果要统一把所有的EJB接口放入到一个EJB中,那么首先接口可能非常之多,其次,对于某个现场可能虽然存在某个接口但是不能使用。
福建新需求中的问题:
1.什么是事件预警?告警色级是啥东西?跟现在的告警级别颜色是一回事吗?如果是一回事,那么原来的颜色也是这样算出来的?
2.告警色级的需求是这样吗:根据门户设置的对照表,取出对应的值,然后用值再去取得告警色级。
3.QS中计算所需的通话用户数,用户数等参数怎么取到?
4.提供事件通告规则配置信息的表结构?
5.将事件级别改为色级是将告警颜色改变?还是将现在的严重告警、一般告警等转为色级?
6.事件升级只是色级升级?
2008-07-01 16:21:22,305 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.131.89 SocketException: 无效的自变量
2008-07-01 16:37:18,200 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.9.159 SocketException: 无效的自变量
2008-07-01 16:42:06,710 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.131.89 SocketException: 无效的自变量
+-----------+
| 2008.7.18 |
+-----------+
1.TD自动工单转派的问题,现在发现告警做延迟后,其清除告警随后就上来时,如果这批告警特别多,处理的时间就会较长,活动告警实际上已经超时了就需要转派,但是这时实际上是正常转派的。因为当转派的更新消息到达客户端以前这条告警就被清除了,不只是客户端无法更新状态,数据库的更新也无法完成。
+-----------+
| 2008.7.21 |
+-----------+
1.jstat -gccause -t -h 20 P_ID 1000
2.jmap
jmap -d64 -heap pid --to print java heap summary
jmap -histo pid >filename 把当前内存的状态dump下来,并重定向到文件filename
3.df -k查看unix磁盘空间。
4.JBPM
+-----------+
| 2008.7.24 |
+-----------+
1.结束MQ命令:endmqm 队列管理器名称
+-----------+
| 2008.8.12 |
+-----------+
svn://10.31.1.48/AUTO_DELIVER
user:zf
张帆 说:
pwd
张帆 说:
zf
+----------+
| 2008.9.5 |
+----------+
Java命令文档地址JDK Tools and Utilities:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/
+-----------+
| 2008.9.23 |
+-----------+
电话密码:112112
+-----------+
| 2008.10.6 |
+-----------+
1.查看oracle版本信息:
select * from v$version
2.SYBASE将表customer的address字段修改成varchar(50):
ALTER TABLE customer MODIFY address CHAR(50)
+------------+
| 2008.10.17 |
+------------+
1.Aqua Data Studio 7.0 发布:完整IDE的数据库开发工具
+------------+
| 2008.10.17 |
+------------+
1.修改Sybase数据库事务模式的命令:
sp_procxmode sfa_ams_handle_ack, 'anymode'
+------------+
| 2008.11.17 |
+------------+
1.黑龙江现场PC:10.110.180.70 administrator/BOCODNMS。vpn:zhanghailong/boco_zhl
root: root/appboco123 身份验证:bocozhanghailong/Zhl@24680
2.
uname -a,可以查看操作系统信息。
ulimit -a,查看系统最大连接数。
+------------+
| 2008.11.18 |
+------------+
java.lang.NullPointerException总结:
在使用SimpleDateFormat.formart(Date)时,如果从Date是空,就会报空指针。
+------------+
| 2008.11.24 |
+------------+
AIX解压zip命令:
jar -xvf AuthUtil122.zip
+------------+
| 2008.11.26 |
+------------+
1.在使用java或者javac命令,classpah中有多个jar文件时,windows下各个jar文件用";"隔开,在unix中,用1":"隔开。
2.AIX在使用java命令执行某个类时,要用java 类名.class,Solaris中只用java 类名
段庆营-想明白了,就看能不能活明白了! 15:53:21
61002.vicp.net qsh\qushaohua
咱家的服务器
段庆营-想明白了,就看能不能活明白了! 15:53:30
mstsc 登录
oracle查询连接数:
select count(*) from v$process --- 取得数据库目前的进程数。
select value from v$parameter where name = 'processes' ---- 取得进程数的上限
select * from v$license---查询数据库自启动以来最大的并发数量
+------------+
| 2008.11.27 |
+------------+
1.unix压缩命令:tar -cvf 文件名.tar 目录名
2.ibm网站关于XML技术的文档:
http://www-128.ibm.com/developerworks/cn/xml/
+------------+
| 2008.12.23 |
+------------+
1.eclipse的轻量级xml插件XMLBuddy。
+------------+
| 2008.12.24 |
+------------+
1.在AIX中设置用户环境变量:
使用"cd"进入用户默认目录,vi .cshrc在文件中setenv例如:
setenv JAVA_HOME /usr/java5_64
+------------+
| 2008.12.26 |
+------------+
Oracle的左连接和右连接:
在Oracle PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name, dept_name
FORM Employee, Department
WHERE Employee.emp_deptid(+) = Department.deptid此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
反之:
SELECT emp_name, dept_name
FORM Employee, Department
WHERE Employee.emp_deptid = Department.deptid(+)则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
mstsc home:
61002.xicp.net:8815
+------------+
| 2008.12.30 |
+------------+
1.UNIX解压缩命令:
tar xvf file.tar 解压tar文件
tar cvf file.tar finename 压缩finename成file.tar
-----
jar xvf file.jar 解压jar文件
jar cvf file.jar finename 压缩finename成file.jar
-----
gzip filename 将filename压缩成filename.gz
gzip -d filename.gz 将filename解压成filename,等同于gunzip filename.gz
AIX可以直接用jar命令解压zip,前提是安装了jar命令可用。
2.-Dfile.encoding=GBK指定java命令运行程序的字符编码
+------------+
| 2009.01.07 |
+------------+
1.配置jboss启动时的参数
bin/run.conf
+------------+
| 2009.01.08 |
+------------+
1.oracle的监听日志
listener.log
+------------+
| 2009.01.14 |
+------------+
1.jQuery一个javascript框架
2.Jcoder Java IDE 1.1
+------------+
| 2009.01.17 |
+------------+
1.几款模板引擎(http://www.iteye.com/topic/291280)
XMLTemplate(简称XT)
Velocity(简称VT)
CommonTemplate(简称CT)
FreeMarker(简称FT)
Smarty4j(简称ST)
直接的java代码
+------------+
| 2009.01.21 |
+------------+
1.sybase isql:
isql -U用户名 -P密码 -S服务名(可以从sybase的home目录interfaces文件得到)
命令示例:
1> select count(*) from tfa_alarm_act
2> go
2.sybase可以用sp_helptext查看存储过程源码。
-----------
150
+------------+
| 2009.02.04 |
+------------+
oracle to_date:
to_date('2009-01-14 00:00:00','yyyy-MM-dd HH24:mi:ss')
oracle增加字段:
alter table TFA_ALARM_HIS add OPENING_FIELD10 varchar2(50);
oracle增加注释:
comment on column TFA_ALARM_HIS.OPENING_FIELD10
is '空缺字段';
+------------+
| 2009.02.11 |
+------------+
1.Reader和InputStream的区别
Java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。Reader 用于读入16位字符,也就是 Unicode 编码的字符;而 InputStream 用于读入 ASCII 字符和二进制数据。
在 Java 中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader 用于从程序中的字符数组输入;
StringReader 用于从程序中的字符串输入;
PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket 用于套接字;
URLConnection 用于 URL 连接。
这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。
2.printf 风格的格式字符串的解释程序,java.util.Formatter。此类可以对java对象进行各种格式化操作。
如,下面的代码将把一个日期对象格式化成:'2009-03-01 01:00:00'的格式。
String time = "%1$tY-%1$tm-%1$td %1$tH:00:00";
Formatter formatter = new Formatter();
Calendar c = Calendar.getInstance();
c.set(year, month, day, 1, 0, 0);
System.out.println(formatter.format(time,c));
'1$'的作用是制定参数的位置,这里的1即代表formatter.format(time,c)中的第一个需要格式化的对象'c'。
+------------+
| 2009.02.24 |
+------------+
1.p6spy可以将完整显示hibernate、jdbc prepareStatmenSQL语句,会完整显示SQL语句中的参数。
2.在junit中setup方法中用BasicConfigurator.configure()可以使用log4j输出日志。也可以用DOMConfigurator.configure(String fileName)指定log4j配置文件。
3.在log4j的配配置中,一个appender代表一个日志输出目标,比如控制台或者文件。root代表根日志记录器。所有的日志都会记录到root元素appender-ref制定的appender中。用category元素定义新的日志记录器。在每个日志记录其中可以分别指定日志级别和日志输出目标(appender-ref)。
+------------+
| 2009.02.26 |
+------------+
1.URL url =Thread.currentThread().getContextClassLoar().getResource("");
可以得到类运行目录。
2.System.getProperties().get("java.class.path"),可以得到当前运行程序的classpath;
+------------+
| 2009.03.06 |
+------------+
1.左连接的两种写法对oracle来说带(+)的写法性能好,sybase两种方式都差不多,可能left join方式会稍微好些,因为*=方式最终还会解析成left join的方式,会花费解析时间。
| 2007.9.20 |
+-----------+
1. 有关tfa_alarm_act和tfa_alarm_status的SQL
select * from fmdb:tfa_alarm_status s
where fp0 in(
select fp0 from fmdb:tfa_alarm_act f where f.int_id in(
select int_id from nrmdb@gjjnpmser:objects o where o.object_class=101)
)
and ack_flag=1 and active_status in (0,3)
+-----------+
| 2007.10.9 |
+-----------+
1.调整话务网的路由过滤器
2.将服务器端打包,配合客户端发布新版本
3.回复项目管理部,确认BUG修改时间
+------------+
| 2007.10.10 |
+------------+
1.抠取世界地图轮廓在呈现时发现在数据库中国家id和运营商id有相等的情况,通过讨论,决定从程序中修改。
2.调试HuijieRouteFilter
3.测试人员联系,发现我们的需求文档是不一样的。
(1)network部分呈现的告警
(2)话务三级呈现的告警
+------------+
| 2007.10.11 |
+------------+
1.设计路由部分的服务器端和客户端程序。
2.发现我这边开发用的需求文档和测试用的需求文档有出入,发邮件给姜政伟让他确认。
3.设计的路由部分让刘刚看,发现基本上不能使用。刘刚讲了用规则直接生成告警。发现许多东西还是要灵活运用才好,刚开始可能因为好多东西还不熟悉,所以这要在以后多多培养。
+------------+
| 2007.10.12 |
+------------+
1.jboss的日志路径
/export/home/jboss/jboss-4.0.1sp1/server/default/log
2.下午讨论需求国际局与测试人员不同的地方。
3.设计路由的告警处理规则。
+------------+
| 2007.10.15 |
+------------+
1.上午开例会,总结上午工作,明确本周工作,听MQ讲座。
2.完成世界地图的描图工作。
3.思考路由解决方案。
+------------+
| 2007.10.16 |
+------------+
1.上午设计路由解决方案。
2.对描图中没有完成的工作进行核查,校正。
3.对取话务性能告警的DAO做了该经,取告警速度提高。
+------------+
| 2007.10.17 |
+------------+
1.修改客户端程序,当点击某个国家时,才显示这个国家的名称。在JTGO的CSS里对象后面可以加:selected,代表这个对象是选中的,这样就可以配置选中这个对象的属性了。
2.Informix在数据库中给某个用户付权限
grant resource to 用户名
grant connect to 用户名
3.下午游欣讲解了关于告警存储和清除的逻辑。在fmdb中的tfa_alarm_act中存储的是活动告警,有一个程序会将已经清楚的告警从这个表中删除。
+------------+
| 2007.10.18 |
+------------+
1.完成了对国际局话务路由告警的设计,明天开始些代码实现。
+------------+
| 2007.10.19 |
+------------+
1.YYIP:10.0.18.12
+------------+
| 2007.10.22 |
+------------+
1.关于Spring配置JDBC的返回的最大行数:用SQL直接查询是一万多条,可是测试时得到的LIST的大小是10000,后来发现这个数目是在配置JDBCTemplate是配置的。在配置JDBCTemplate时有个<property name="maxRows">这个是用来配置最大返回行数的。
2.完善路由告警规则,测试。
3.在jruls规则中修改了一个对象的属性后,要用update更新这个对象,否则再次获得这个对象的属性可能还是原来的属性。
+------------+
| 2007.10.23 |
+------------+
1.在jrules的workmemory中直接new一个对象,workmemory并不会自动保存这个对象,只有经过insert之后这个对象才在workmemory中存在。
+------------+
| 2007.10.24 |
+------------+
1.完成了话务路由告警生成规则的测试。
2.下午修改话务三级拓扑,根据新的需求取出所需要的数据。
+------------+
| 2007.10.25 |
+------------+
1.上午完成路由告警客户端测试。
2.有关VHE和话务路由的有关问题又问了相关人员,并发送邮件提出问题。
+------------+
| 2007.10.26 |
+------------+
1.a局是TMSC1负责省际业务。d局是GMSC,关口局。TMSC2负责省内业务。isc,outisc,tmsc,gmsc都是msc只是功能不一样。
+------------+
| 2007.10.29 |
+------------+
1.修改程序,发布服务器端新版本。
2.继续调试程序,修改了告警生成规则文件。
+------------+
| 2007.10.30 |
+------------+
1.继续调整服务器端BUG。
2.object_class=702:link,object_class=602:linkset
3.?性能数据现在需要定位到国家上,但是在关联tpa_destcode_sum表和temp_country_info时,由于destcode的问题,有大部分数据无法定位到国家。对于实时性能消息,通过ne_id的userlabel与temp_country_info关联得到目的国家ID。
4.发送邮件要求修改客户端启动图片。
5.开发vhe路由告警。
+------------+
| 2007.10.31 |
+------------+
1.开发vhe路由告警,由link告警生成linkset的告警。
2.处理二级拓扑实时数据的发送与接收问题,在客户端设置过滤,在服务器端设置字段来区分不同设备的性能和告警数据。
+----------+
| 2007.1.1 |
+----------+
1.mq队列管理器的相关命令:
dspmq --查看当前的队列管理器信息
runmqsc 队列管理器名 --运行队列管理器
dis ql (队列名) --查看某一队列的详细信息
define ql(对列名) --新建队列
2.把运营商放到国家区域后,就无法选中,后来发现是JTGO图层的问题。但现在问题还没有解决。
3.现在点击目的国家呈现到目的国家所有路由的功能已经实现。在此过程中发现了一些数据问题,明天将通过邮件发送给有关人员。
+-----------+
| 2007.11.5 |
+-----------+
1.关于unix,在solaris中,每个文件都对应一个i_node(节点)号。使用'ls -i 文件名'命令可以查询文件的i_node号。如果某个文件以空格或者以下划线开头,就无法用rm命令删除,这时候就可以用'unlink 节点号'这个命令去删除文件。
2.关于unix, 'pfiles 进程号'可以查看某进程打开的文件的节点号。'find -i 节点号' 可以查询某节点号对应的文件。和进程有关的命令:ptree,pmap。
3.使用eclipse进行RCP开发,在eclipse.org的标题:Eclipse Rich Client Platform Tutorial - A Hands-on-Guide。
+-----------+
| 2007.11.7 |
+-----------+
1.测试话务路由获得数据窗口数据的代码。
2.设置informix的隔离级别:
“Set Isolation To isolationlevel”SQL语句,其中isolationlevel是Dirty Read、Committed Read、Cursor Stability和Repeatable Read之一。在Informix-4gl、ESQL/C、SQL中均可以使用。
Informix 进程隔离级(isolation level)
隔离级是指并发执行相同操作的进程相互隔离的程度。OnLine通过设定进程在读操作时上锁的不同规则而提供了四种隔离级:Dirty Read(脏读)隔离、Committed Read(提交后读)隔离、Cursor Stability(游标固定)隔离和Repeatable Read(可重复读)隔离具体说明如下:
1、Dirty Read(脏读)隔离
Dirty Read是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、Committed Read(提交后读)隔离
当进程请求Committed Read隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
3、Cursor Stability(游标固定)隔离
当进程使用Cursor Stability隔离级时,OnLine对进程最后获取的一行数据上锁,对普通的游标上一个共享锁,而对修改游标一个升级锁(更新锁)。
4、Repeatable Read(可重复读)隔离
Repeatable Read隔离级请求数据库服务器对进程读到的每一行数据都加锁为普通的游标加上共享锁而为修改游标上更新锁这些锁直到游标关闭或事务结束时才释放。Repeatable Read允许用户使用滚动游标对所选择的数据多次读取并保证这些数据没有被修改或被删除。
3.在配数据源时可以在数据源文件里面配置<new-connection-sql>,这样在进行所有的数据库操作前,都会先执行这条语句。例如可以在这里设置informix的隔离级。
+-----------+
| 2007.11.8 |
+-----------+
1.话务路由数据窗口数据,在服务器端已经实现,今天主要完成客户端开发。
+-----------+
| 2007.11.9 |
+-----------+
1.完成话务路由开发。
+------------+
| 2007.11.12 |
+------------+
1.国际局路由告警类型:
trunkgroup port告警:object_class=704
trunkgroup路由阻断告警:sub_alarm_type=9995
vhe link告警:object_Class=702 and sub_alarm_type=111111
2.完成vhe路由客户端程序开发。
3.对话务性能部分代码进行了修改。
4.完成新版本提交。
+------------+
| 2007.11.13 |
+------------+
1.与客户讨论,对现在的程序获得了许多宝贵意见。
2.下午参见MQ培训,对MQ有了进一步了解。牵涉到的概念有群集负载、MQ与webService、SOA、ESB。
+------------+
| 2007.11.15 |
+------------+
1.对客户提出的意见,进行整理,并与相关人员确定任务。
2.对国际局路由的地图进行重描。
+------------+
| 2007.11.16 |
+------------+
1.解决路由点击连线显示属性的问题,但是不知道怎么解决,给Ilog打电话关机。等等再跟他们联系。
+------------+
| 2007.11.19 |
+------------+
1.确认话务一二级拓扑网元属性已能正确显示。
2.查找文档,解决拓扑地图问题。
3.总体进度:今天主要是发布了新版本给测试人员测试。查找文档试图解决描图问题。
+------------+
| 2007.11.20 |
+------------+
1.试图通过jviews的samples来完善地图,但是失败。
2.整理出告警数据文档。
3.修改程序,现在目的信令节点不可达告警已经能在拓扑界面上呈现。
+------------+
| 2007.11.22 |
+------------+
1.完成对话务华为告警数据的改造。
2.修改话务路由拓扑程序。
+------------+
| 2007.11.23 |
+------------+
1.修改话务路由程序。
+------------+
| 2007.11.24 |
+------------+
1.对于JTGO中当设置网元与多边形轮廓(IltPolyGroup)之间的连线时,对于多边形来说,是以label或者icon为中心的。
+------------+
| 2007.11.25 |
+------------+
1.整理出话务路由拓扑设计的文档。
2.核查db人员更新的temp_country_info表。
3.继续开发程序,发现数据问题及时提出。
+------------+
| 2007.11.27 |
+------------+
1.与美工讨论国际局地图展示问题。
2.查看测试提交的bug,发现了一些问题,有些是数据问题,通过邮件通知相关人员。
+------------+
| 2007.11.28 |
+------------+
1.使用javaService可以把java程序发布成操作系统的服务运行。
2.跟美工一起完善国际局国家轮廓。
3.有些性能指标不能呈现,把问题包给黄行知。对已有的bug做了修改,不能修改的,已经找到了原因。
+------------+
| 2007.11.29 |
+------------+
1.修改了在性能拓扑中,有些网元存在性能指标不存在的问题。
2.在jboss的\server\default\conf目录中,login-config.xml定义了jboss的安全性域。在其它地方可以用java:/jaas/+“安全域名”的形式去使用这些安全域。
+------------+
| 2007.12.28 |
+------------+
1.unix的环境变量存储在.cshrc文件中。
2.关于话务路由按路由级别和目的国家获得路由集合的sql:select distinct related_msc,route_branch, destcode_name
from traf_route_rela where destcode_name =600。
+----------+
| 2008.1.3 |
+----------+
1.JTGO可以在选择或者不选择对象时,改变对象的label,这样会有动态效果。
2.selectionBorderForeground和selectionBorderBackground可以控制选择对象的背景颜色。也可以让选择的对象有动态的效果。
+----------+
| 2008.1.6 |
+----------+
1.spring的timerTask,配置中,delay是用来设置timerTask的延迟时间,即程序启动后多长时间开始执行timerTask。period用来指定timerTask的执行频率,即timerTask开始执行后以多长时间为间隔重复执行。
2.在eclipse的org.eclipse.jface.viewers.TreeViewer中,ISelectionChangedListener用来监听选中元素的改变事件SelectionChangedEvent,SelectionChangedEvent.getSelection()可以是包含元素的IStructuredSelection,根据这个IStructuredSelection,可以获得选中的相关元素,并对它们进行操作。相关实例代码:
class MySelectChangeListener implements ISelectionChangedListener {
public void selectionChanged(SelectionChangedEvent event) {
if(event.getSelection() instanceof IStructuredSelection) {
final IStructuredSelection selection = (IStructuredSelection)event.getSelection();
if(selection.getFirstElement() instanceof KpiMsg){
MenuManager menumanager = new MenuManager();
menumanager.setRemoveAllWhenShown(true);
menumanager.addMenuListener(new IMenuListener(){
public void menuAboutToShow(IMenuManager manager) {
manager.add(new CountAlarmAction(selection,viewer));
}
});
Menu menu = menumanager.createContextMenu(viewer.getTree());
viewer.getTree().setMenu(menu);
}
}
}
}
+-----------+
| 2008.1.28 |
+-----------+
1.在jface的treeViewer设置input时,老是报
!ENTRY org.eclipse.jface 4 2 2008-01-28 10:02:15.859
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.IllegalArgumentException: Argument cannot be null
at org.eclipse.swt.SWT.error(SWT.java:3358)
at org.eclipse.swt.SWT.error(SWT.java:3297)
at org.eclipse.swt.SWT.error(SWT.java:3268)
at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
at org.eclipse.swt.widgets.TreeItem.setText(TreeItem.java:1540)
at org.eclipse.swt.widgets.TreeItem.setText(TreeItem.java:1575)
at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:265)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:834)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:465)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1949)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:738)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:716)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:690)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:872)
at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1271)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1317)
at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1260)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:250)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1536)
at cmcc_nms_topo_client.views.HuawuErrsionEquimentComposite.setIlpObject(HuawuErrsionEquimentComposite.java:160)
at cmcc_nms_topo_client.views.HuawuEricssonEquimentTreeView.setIlpObject(HuawuEricssonEquimentTreeView.java:79)
at cmcc_nms_topo_client.actions.DefaultClickAction$1.run(DefaultClickAction.java:136)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at cmcc_nms_topo_client.Application.run(Application.java:38)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
这样的错误,后来发现是因为在实现ILabelProvider的getText方法时调用了某个对象的getAttributeValue("name"),然而这个方法返回null,后来把它改为getAttributeValue("zh_name"),正常得到了这个对象的名字,问题就解决了。原来一直怀疑是在setInput时发生了异常,其实不是这样,看起来在以后发现异常时要去观察所有可能发生异常的地方,也许间接的关系也会导致问题的发生。
2.sql中的group by的一个用法,比如要查询在某个表中不同related_msc,destcode_name的数据的数目,可以用下面的sql来实现:
select a.related_msc,a.destcode_name, count(*) routeCount from traf_route_rela a group by a.related_msc ,a.destcode_name order by routeCount desc,这里的group by是将数据按照related_msc,destcode_name分组,然后调用count函数取出总的数目。这里要注意的是一定要将分组的(group by后面的)字段写在前面,将调用的函数写在后面。同样这种情况先可以根据需要使用不同的函数。
+-----------+
| 2008.3.10 |
+-----------+
1.jboss的jms配置文档:
……
6.3. JBoss Messaging Configuration and MBeans
This section defines the MBean services that correspond to the components introduced in the previous section along with their MBean attributes. The configuration and service files that make up the JBossMQ system include:
deploy/hsqldb-jdbc-state-service.xml: This configures the JDBC state service for storing state in the embedded Hypersonic database.
deploy/jms/hsqldb-jdbc2-service.xml: This service descriptor configures the DestinationManager, MessageCache, and jdbc2 PersistenceManager for the embedded Hypersonic database.
+-----------+
| 2008.3.12 |
+-----------+
@SuppressWarnings
java.lang.SuppressWarnings
deploy/jms/jbossmq-destinations-service.xml: This service describes defines default JMS queue and topic destination configurations used by the testsuite unit tests. You can add/remove destinations to this file, or deploy another *-service.xml descriptor with the destination configurations.
jbossmq-httpil.sar: This SAR file configures the HTTP invocation layer.
deploy/jms/jbossmq-service.xml: This service descriptor configures the core JBossMQ MBeans like the Invoker, SecurityManager, DynamicStateManager, and core interceptor stack. It also defines the MDB default dead letter queue DLQ.
deploy/jms/jms-ds.xml: This is a JCA connection factory and JMS provider MDB integration services configuration which sets JBossMQ as the JMS provider.
deploy/jms/jms-ra.rar: This is a JCA resource adaptor for JMS providers.
deploy/jms/jvm-il-service.xml: This service descriptor configures the JVMServerILService which provides the JVM IL transport.
deploy/jms/rmi-il-service.xml: This service descriptor configures the RMIServerILService which provides the RMI IL. The queue and topic connection factory for this IL is bound under the name RMIConnectionFactory.
deploy/jms/uil2-service.xml: This service descriptor configures the UILServerILService which provides the UIL2 transport. The queue and topic connection factory for this IL is bound under the name UIL2ConnectionFactory as well as UILConnectionFactory to replace the deprecated version 1 UIL service.
We will discuss the associated MBeans in the following subsections.
……
更加详尽信息见各版本jboss的Configuration Guide (JBoss AS Guide)。JBoss Application Server的文档分为三种:Javadoc、Getting Started Guide、Configuration Guide (JBoss AS Guide)可根据具体需要查阅不同文档。
+-----------+
| 2008.3.17 |
+-----------+
1.oracle选取一定行数数据的方法:
(1)select * from (select rownum id,t.* from tfa_alarm_act t) where id between 20 and 30
(2)select * from tfa_alarm_act where rownum <100
+-----------+
| 2008.3.18 |
+-----------+
(1)从此网站可以得到在html中显示各种样式钟表的代码:http://www.clocklink.com/
(2)电影:人类灭亡以后
(3)java应用中的三种包文件:
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
ear包:企业级应用,通常是EJB打成ear包。 ear是J2ee的应用文件的扩展名是Enterprise Application Achiever,是打包了的企业应用程序,里面可包含war(web Application archiever),ejb等
ear包:企业级应用,通常是EJB打成ear包。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:Java Archive,Java 归档文件,通常是开发时要引用通用类,打成包便于存放管理。
(4)下载10.46.1.235的文件:
上传:ftp 132.32.19.220 maintain/maintain6789
下载:fpt 10.0.251.251 maintain/maintain6789 非FTP:maintain/cmccguest
+-----------+
| 2008.3.19 |
+-----------+
(1)informix查看存储过程和表结构命令:
dbschema -d 数据库名 -f 存储过程名
dbschema -d 数据库名 -t 表名
(2)oracle中查看存储过程用工具比较简单(比如:PL/SQL),命令较复杂。
(3)10.46.1.235用户名/密码:daladmin/daladmin or mqadmin/mqadmin
福建现场目录:/export/home/mqadmin/fjalarm/GEVT-FJ-070928/cfg/common_service
+-----------+
| 2008.3.22 |
+-----------+
(1)17:57:00
+-----------+
| 2008.3.25 |
+-----------+
(1)TD客户端:http://10.0.0.18:58080/webAlarm
(2)能用PL/SQL的机器:10.130.21.151 qushaohua password
(3)登福建10.0.4.248 maintain testmain
10.46.1.214 administrator/fjalarm_007
+----------+
| 2008.4.2 |
+----------+
1.使用jar命令制作可执行jar文件。
“jar cvfm 文件名.jar MANIFEST.MF 目录名\”
在MANIFEST.MF中可以增加一些属性,如Main-Class:和Class-Path:用来指定运行此jar包的mainclass和classpath。
+----------+
| 2008.4.8 |
+----------+
ftp登录:ftp://10.130.21.151
用户名:ftpuser
密码:ftpuser
Software 常用软件目录
Doc:技术文档目录
Movie:电影目录
1. 可以针对不同的告警,根据需求设定相同的告警产生次数,当达到告警频次门限时,进行故障升级处理或者产生一条新告警
2. 设置链路DOWN为重要告警,当DOWN时间超过5分钟后,自动升级为紧急告警并发送短信告警通知
3. 如果在某个时间窗内,发生一定次数,即满足频次条件,此时触发短信转发、语音转发以及派发工单,同时构成了事件,将事件相关信息(事件级别、事件类别、前转标示等)呈现到客户端
4. 通用有效告警以厂家ID和告警号作为条件,称符合条件的告警为通用有效告警
5. 对于通用/专业有效告警,延迟一定时间做短信转发、语音转发以及派发工单(各个延迟时间是可以配置的),同时构成了事件,将事件相关信息(事件级别、事件类别、前转标示等)呈现到客户。
+-----------+
| 2008.4.10 |
+-----------+
1.10.0.0.111 maintain/cmccinterface
2.10.46.1.228 administrator/fjalarm_008可以使用现场库的pl/sql
3.10.0.4.248 maintain/testmain可以连到228
+-----------+
| 2008.4.19 |
+-----------+
1./usr/ucb/ps -awwx|grep java查看相关进程信息
+-----------+
| 2008.4.29 |
+-----------+
terminal 10.0.251.251 maintain/cmccguest
远程桌面访问黑龙江数据网管接口机
terminal 10.110.180.70 administrator/BOCODNMS
告警服务主机
telnet 10.110.144.114 dnmsadm/App789@Dnms
数据库fms/Fms123?Boco
段庆应,你好:
现在客户端呈现派单工单号,实现此功能需要对模型和库表做修改。
1.修改AlarmObject.java,增加forward_sheet属性,为String型。
2.需要在tfa_alarm_act和tfa_alarm_his表中增加forward_sheet,
+-----------+
| 2008.5.12 |
+-----------+
1.truss -t \!all -s \!all -T exit -p <pid>
+-----------+
| 2008.5.13 |
+-----------+
1.登黑龙江服务的快捷方式:先登到telnet 10.1.85.82 mqadmin/mqadmin,然后登telnet 10.110.144.114 dnmsadm/App789@Dnms
2.http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/java.html详细介绍了java运行时的各个参数。
+-----------+
| 2008.5.16 |
+-----------+
1.Spring配置jndiTemplate
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">10.46.1.236:31099</prop>
<prop key="java.naming.factory.url.pkgs">org.jnp.interfaces:org.jboss.naming</prop>
</props>
</property>
</bean>
2.1000-0851-8851
+-----------+
| 2008.5.17 |
+-----------+
13304513955
13520755505
+-----------+
| 2008.5.21 |
+-----------+
1.在oracle数据库中如果插入数据的sql中需要插入日期字段,用如下的sql完成:insert into tabla_name (column1,column2,column_date) values ('a','b',sysdate)。sysdate是oracle取系统时间的函数,在Sybase中是getdate()函数。
2.MQ的部分命令:
dis qmgr显示默认队列管理器信息
dspmqbrk
strmqbrk
dis qs(*)
runmqsc
alter qmgr ccsid(819)修改队列管理器的ccsid
+-----------+
| 2008.6.02 |
+-----------+
1.V$SESSION--"This view lists session information for each current session."。ORACLE中提供了像V$SESSION这样的视图,可以查看ORACLE的配置、运行状态等信息。更多信息,可以去www.g.cn搜索。
+-----------+
| 2008.6.06 |
+-----------+
1.amqmdain qmgr start QSH_QM,使用此命令启动MQ
+-----------+
| 2008.6.16 |
+-----------+
1.lsdev显示AIX的系统设备。 lsdev|grep Processor显示系统的处理器信息。
+-----------+
| 2008.6.17 |
+-----------+
处理mq回滚失败,使用rsvmqtrn -m MY_QMGR_NAME -a,参考:http://www.lifeng.name/document/manual/mqm/amqzzg/amqzzg30.htm。
+-----------+
| 2008.6.18 |
+-----------+
10.0.18.202 administrator/killyou
在登到 221.130.254.61 dnmsalarm alarm#$%
段庆营 说:
在登到 10.1.97.139 alarm alarm
+-----------+
| 2008.6.27 |
+-----------+
目前告警服务存在的问题:
1.无法区分核心代码与二次开发代码,每个现场都有不同的需求,对于同一个功能可能就会有不同的需求,造成同一类名会有不同几个版本的代码。类似于EJB接口的问题,不同的现场可能需要不同的EJB接口,如果要统一把所有的EJB接口放入到一个EJB中,那么首先接口可能非常之多,其次,对于某个现场可能虽然存在某个接口但是不能使用。
福建新需求中的问题:
1.什么是事件预警?告警色级是啥东西?跟现在的告警级别颜色是一回事吗?如果是一回事,那么原来的颜色也是这样算出来的?
2.告警色级的需求是这样吗:根据门户设置的对照表,取出对应的值,然后用值再去取得告警色级。
3.QS中计算所需的通话用户数,用户数等参数怎么取到?
4.提供事件通告规则配置信息的表结构?
5.将事件级别改为色级是将告警颜色改变?还是将现在的严重告警、一般告警等转为色级?
6.事件升级只是色级升级?
2008-07-01 16:21:22,305 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.131.89 SocketException: 无效的自变量
2008-07-01 16:37:18,200 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.9.159 SocketException: 无效的自变量
2008-07-01 16:42:06,710 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Remote Host /10.1.131.89 SocketException: 无效的自变量
+-----------+
| 2008.7.18 |
+-----------+
1.TD自动工单转派的问题,现在发现告警做延迟后,其清除告警随后就上来时,如果这批告警特别多,处理的时间就会较长,活动告警实际上已经超时了就需要转派,但是这时实际上是正常转派的。因为当转派的更新消息到达客户端以前这条告警就被清除了,不只是客户端无法更新状态,数据库的更新也无法完成。
+-----------+
| 2008.7.21 |
+-----------+
1.jstat -gccause -t -h 20 P_ID 1000
2.jmap
jmap -d64 -heap pid --to print java heap summary
jmap -histo pid >filename 把当前内存的状态dump下来,并重定向到文件filename
3.df -k查看unix磁盘空间。
4.JBPM
+-----------+
| 2008.7.24 |
+-----------+
1.结束MQ命令:endmqm 队列管理器名称
+-----------+
| 2008.8.12 |
+-----------+
svn://10.31.1.48/AUTO_DELIVER
user:zf
张帆 说:
pwd
张帆 说:
zf
+----------+
| 2008.9.5 |
+----------+
Java命令文档地址JDK Tools and Utilities:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/
+-----------+
| 2008.9.23 |
+-----------+
电话密码:112112
+-----------+
| 2008.10.6 |
+-----------+
1.查看oracle版本信息:
select * from v$version
2.SYBASE将表customer的address字段修改成varchar(50):
ALTER TABLE customer MODIFY address CHAR(50)
+------------+
| 2008.10.17 |
+------------+
1.Aqua Data Studio 7.0 发布:完整IDE的数据库开发工具
+------------+
| 2008.10.17 |
+------------+
1.修改Sybase数据库事务模式的命令:
sp_procxmode sfa_ams_handle_ack, 'anymode'
+------------+
| 2008.11.17 |
+------------+
1.黑龙江现场PC:10.110.180.70 administrator/BOCODNMS。vpn:zhanghailong/boco_zhl
root: root/appboco123 身份验证:bocozhanghailong/Zhl@24680
2.
uname -a,可以查看操作系统信息。
ulimit -a,查看系统最大连接数。
+------------+
| 2008.11.18 |
+------------+
java.lang.NullPointerException总结:
在使用SimpleDateFormat.formart(Date)时,如果从Date是空,就会报空指针。
+------------+
| 2008.11.24 |
+------------+
AIX解压zip命令:
jar -xvf AuthUtil122.zip
+------------+
| 2008.11.26 |
+------------+
1.在使用java或者javac命令,classpah中有多个jar文件时,windows下各个jar文件用";"隔开,在unix中,用1":"隔开。
2.AIX在使用java命令执行某个类时,要用java 类名.class,Solaris中只用java 类名
段庆营-想明白了,就看能不能活明白了! 15:53:21
61002.vicp.net qsh\qushaohua
咱家的服务器
段庆营-想明白了,就看能不能活明白了! 15:53:30
mstsc 登录
oracle查询连接数:
select count(*) from v$process --- 取得数据库目前的进程数。
select value from v$parameter where name = 'processes' ---- 取得进程数的上限
select * from v$license---查询数据库自启动以来最大的并发数量
+------------+
| 2008.11.27 |
+------------+
1.unix压缩命令:tar -cvf 文件名.tar 目录名
2.ibm网站关于XML技术的文档:
http://www-128.ibm.com/developerworks/cn/xml/
+------------+
| 2008.12.23 |
+------------+
1.eclipse的轻量级xml插件XMLBuddy。
+------------+
| 2008.12.24 |
+------------+
1.在AIX中设置用户环境变量:
使用"cd"进入用户默认目录,vi .cshrc在文件中setenv例如:
setenv JAVA_HOME /usr/java5_64
+------------+
| 2008.12.26 |
+------------+
Oracle的左连接和右连接:
在Oracle PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name, dept_name
FORM Employee, Department
WHERE Employee.emp_deptid(+) = Department.deptid此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
反之:
SELECT emp_name, dept_name
FORM Employee, Department
WHERE Employee.emp_deptid = Department.deptid(+)则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
mstsc home:
61002.xicp.net:8815
+------------+
| 2008.12.30 |
+------------+
1.UNIX解压缩命令:
tar xvf file.tar 解压tar文件
tar cvf file.tar finename 压缩finename成file.tar
-----
jar xvf file.jar 解压jar文件
jar cvf file.jar finename 压缩finename成file.jar
-----
gzip filename 将filename压缩成filename.gz
gzip -d filename.gz 将filename解压成filename,等同于gunzip filename.gz
AIX可以直接用jar命令解压zip,前提是安装了jar命令可用。
2.-Dfile.encoding=GBK指定java命令运行程序的字符编码
+------------+
| 2009.01.07 |
+------------+
1.配置jboss启动时的参数
bin/run.conf
+------------+
| 2009.01.08 |
+------------+
1.oracle的监听日志
listener.log
+------------+
| 2009.01.14 |
+------------+
1.jQuery一个javascript框架
2.Jcoder Java IDE 1.1
+------------+
| 2009.01.17 |
+------------+
1.几款模板引擎(http://www.iteye.com/topic/291280)
XMLTemplate(简称XT)
Velocity(简称VT)
CommonTemplate(简称CT)
FreeMarker(简称FT)
Smarty4j(简称ST)
直接的java代码
+------------+
| 2009.01.21 |
+------------+
1.sybase isql:
isql -U用户名 -P密码 -S服务名(可以从sybase的home目录interfaces文件得到)
命令示例:
1> select count(*) from tfa_alarm_act
2> go
2.sybase可以用sp_helptext查看存储过程源码。
-----------
150
+------------+
| 2009.02.04 |
+------------+
oracle to_date:
to_date('2009-01-14 00:00:00','yyyy-MM-dd HH24:mi:ss')
oracle增加字段:
alter table TFA_ALARM_HIS add OPENING_FIELD10 varchar2(50);
oracle增加注释:
comment on column TFA_ALARM_HIS.OPENING_FIELD10
is '空缺字段';
+------------+
| 2009.02.11 |
+------------+
1.Reader和InputStream的区别
Java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。Reader 用于读入16位字符,也就是 Unicode 编码的字符;而 InputStream 用于读入 ASCII 字符和二进制数据。
在 Java 中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入;
CharArrayReader 用于从程序中的字符数组输入;
StringReader 用于从程序中的字符串输入;
PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:
Socket 用于套接字;
URLConnection 用于 URL 连接。
这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。
2.printf 风格的格式字符串的解释程序,java.util.Formatter。此类可以对java对象进行各种格式化操作。
如,下面的代码将把一个日期对象格式化成:'2009-03-01 01:00:00'的格式。
String time = "%1$tY-%1$tm-%1$td %1$tH:00:00";
Formatter formatter = new Formatter();
Calendar c = Calendar.getInstance();
c.set(year, month, day, 1, 0, 0);
System.out.println(formatter.format(time,c));
'1$'的作用是制定参数的位置,这里的1即代表formatter.format(time,c)中的第一个需要格式化的对象'c'。
+------------+
| 2009.02.24 |
+------------+
1.p6spy可以将完整显示hibernate、jdbc prepareStatmenSQL语句,会完整显示SQL语句中的参数。
2.在junit中setup方法中用BasicConfigurator.configure()可以使用log4j输出日志。也可以用DOMConfigurator.configure(String fileName)指定log4j配置文件。
3.在log4j的配配置中,一个appender代表一个日志输出目标,比如控制台或者文件。root代表根日志记录器。所有的日志都会记录到root元素appender-ref制定的appender中。用category元素定义新的日志记录器。在每个日志记录其中可以分别指定日志级别和日志输出目标(appender-ref)。
+------------+
| 2009.02.26 |
+------------+
1.URL url =Thread.currentThread().getContextClassLoar().getResource("");
可以得到类运行目录。
2.System.getProperties().get("java.class.path"),可以得到当前运行程序的classpath;
+------------+
| 2009.03.06 |
+------------+
1.左连接的两种写法对oracle来说带(+)的写法性能好,sybase两种方式都差不多,可能left join方式会稍微好些,因为*=方式最终还会解析成left join的方式,会花费解析时间。