pbs笔记.doc_第1页
pbs笔记.doc_第2页
pbs笔记.doc_第3页
pbs笔记.doc_第4页
pbs笔记.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在log.txt中:starting.(在WorkstationMainCtrl.java 的62行开始)/pbs/kernal/ide/html/xmlD:workspacePBSsend to = 1 (从SynNode.java的140行)port=21356socket = Socketaddr=/1,port=21356,localport=3341send: pbs.util.version.SyncRequest|0|0|-|0|227|2|return: pbs.util.version.SyncResponse|0|pbs.util.version.SyncResponseHandler|0|227|0|1|closing.(SynNode.java的216行结束)Sync finish(SyncClient类的96行)Server start at ServerSocketaddr=/,port=0,localport=21359(在SyncNode.java的92行) waiting accept.D:workspacePBS/pbs/report/ Lpbs.kernal.base.PbsObject;140feeLpbs.kernal.base.PbsObject;e8a0cd read properties.(在ConfigModify.java的266行) encrypt_flag=false(从wsTxMgr.java的179行) host_addr=t3:/6:7005Lpbs.kernal.base.PbsObject;14a0fe1 () ftpCompressed=true从wsTxMgr.java的223行 FTPPORT=9999这些是同步更新PBS的debug记录。暂时放下,主要是socket编程。在pbs中,java的主入口类是WorkstationMainCtrl,在PowerBranchTeller31.bat中可以看到以下内容:set PBSDIR=c:pbsRun2009(主目录)set JAVA_HOME=%PBSDIR%jdk131(java的jdk目录)set LIBPATH=%PBSDIR%lib(用到的一些jar包,包括weblogic.jar,xalan.jar包)set XMLDIR=/pbs/kernal/ide/html/xml(xml文件存放目录)set DLLDIR=C:WINDOWSSystem32set TESTMODE=false(debug模式)set start=start set exec=javarem cd %LIBPATH%rem set LIBPATH=.set ()classpath=%LIBPATH%pe.jar;%LIBPATH%cc.jar;%LIBPATH%am.jar;%LIBPATH%fd.jar;%LIBPATH%ci.jar;%LIBPATH%fe.jar;%LIBPATH%dp.jar;%LIBPATH%iln.jar;%LIBPATH%bs.jar;%LIBPATH%af.jar;%LIBPATH%be.jar;%LIBPATH%de.jar;%LIBPATH%cr.jar;%LIBPATH%gl.jar;%LIBPATH%st.jar;%LIBPATH%re.jar;%LIBPATH%se.jar;%LIBPATH%mc.jar;%LIBPATH%ln.jar;%LIBPATH%nln.jar;%LIBPATH%sm.jar;%LIBPATH%spc.jar;%LIBPATH%cv.jar;%LIBPATH%dl.jar;%LIBPATH%fw.jar(设置classpath路径,主要是交易类)set classpath=%LIBPATH%dcs.jar;%LIBPATH%baseclient.jar;%LIBPATH%config.jar;%LIBPATH%ui.jar;%LIBPATH%uibean.jar;%LIBPATH%client.jar;%LIBPATH%BSSEJB.jar;%LIBPATH%db.jar;%LIBPATH%bss.jar;%LIBPATH%field.jar;%LIBPATH%appl.jar;%LIBPATH%file.jar;%LIBPATH%pbsxml.jar;%LIBPATH%form.jar;%LIBPATH%net.jar;%LIBPATH%msg.jar;%LIBPATH%comm.jar;%LIBPATH%parse.jar;%LIBPATH%channel.jar;%LIBPATH%channel_sub.jar;%LIBPATH%nfhsync.jar;%LIBPATH%hsa.jar;%LIBPATH%applcomm.jar;%LIBPATH%pub.jar;%LIBPATH%report.jar;%classpath% (设置classpath路径,主要是服务类,工具类,窗口部件类,同步类等等)%start%JAVA_HOME%bin%exec% -mx128M -classpath %classpath% -Dpbsdebug=true -Dpbsdir=%PBSDIR% -Djava.library.path=%DLLDIR% -Didexmldir=%XMLDIR% -Dfile.encoding=GBK -DTESTMODE=%TESTMODE% -Duser.language=zh -Duser.region=CN pbs.teller.appl.WorkstationMainCtrl(入口类)在 WorkstationMainCtrl类中151行, SplashWindow sw = SplashWindow.getInstance(); sw.prepareSplash(); sw.startSplash();准备窗口,在SplanshWindow中可以看到设置窗口主要的Main.jpg图片 JLabel l = new JLabel(new ImageIcon(SplashWindow.class.getClassLoader().getResource(pbs/teller/appl/Main.jpg); SyncClient.main(new String0); 同步更新程序代码。(有空再研究)。 WsTxMgr.initEnv(sw);在PbsToolBox.deleteAllFile(System.getProperty(pbsdir, )+ /pbs/report/);删除其目录下的文件。sw.setText(装载打印格式交易定义.);WsTxConfig.loadWorkstationTransaction();调用WsTxConfig中的以下方法: public static void loadWorkstationTransaction() WsTxObjectPool.loadWorkstationTransaction(); 再调用WsTxObjectPool.loadWorkstationTransaction()的方法。通过其方法加载文件String fName = fPath + /pbs/kernal/ide/txconfig/Transaction.pol;String fName2 = fPath + /pbs/kernal/ide/txconfig/PrintForm.pol;/* 交易定义缓冲 */ private static PbsObjectPool txPool;在Transaction.pol传入的值有很多,传给到了txPool中,下面给出的是它其中一个键值对。 /* 打印格式定义 */private static PbsObjectPool prtFormPool;在PrintForm.pol传入的值有很多,传给到了prtFormPool中,下面给出的是它其中一个键值对。HashMap hashMap = WsTxConfig.getQuickKey(); FieldBuffer fieldbuffer = ResourceReader.getValueFromResource(QUICKKEYXML, QuickItem); for(int i = 0; i BranchServiceAccessprivate static void initilize() bsUrl = PbsToolBox.getBsUrl(); accessTable = new Hashtable(); BranchEJBServiceAccess branchejbserviceaccess = new BranchEJBServiceAccess(); branchejbserviceaccess.initBsa(bsUrl); accessTable.put(branchejbserviceaccess.getBsaName(), branchejbserviceaccess); BranchJMSServiceAccess branchjmsserviceaccess = new BranchJMSServiceAccess(); branchjmsserviceaccess.initBsa(bsUrl); accessTable.put(branchjmsserviceaccess.getBsaName(), branchjmsserviceaccess); SystemEJBServiceAccess systemejbserviceaccess = new SystemEJBServiceAccess(); systemejbserviceaccess.initBsa(bsUrl); accessTable.put(systemejbserviceaccess.getBsaName(), systemejbserviceaccess); 其中branchejbserviceaccess.initBsa(bsUrl);的时候就会生产 msgSender = new PbsMessageProducer();(消息生产者)PbsMessageProducer类中的静态块中执行 static messageServerDefinePool = PbsMessageConsumer.messageServerNamePool;=PbsMessageConsumer静态块中执行,加载MessageDefine.pol从而把 String s1 = s + /pbs/kernal/ide/txConfig/MessageDefine.pol; 在WsTxMgr类的222行PbsToolBox.debug(ftpCompressed= + ftpCompressed);PbsToolBox.debug(FTPPORT= + FTPPORT);在WorkstationResourceManager类中,管理工作站的基本属性。在100行 pbs.kernal.util.PbsToolBox.printLog( . 初始化工作站金融外设 . ); 其中金融外设有10个,其中有六个,有4个。在106行,for循环中,第一个循环的内容有以下: FinanceDevice fdev = wsDevsi.getFinanceDevice(); String driver = pbs.teller.dcs.driver. + fdev.getDevDrvProName();具体的在DeviceDriverManager类中有说明:/* * 中间通信设备A标志 */ public static final int COMMA = 0 ; /* * 中间通信设备B标志 */ public static final int COMMB = 1 ; /* * 存折打印机标志 */ public static final int PBPRINT = 2 ; /* * 磁条读写器标志 */ public static final int MCR = 3 ; /* * 密码键盘标志 */ public static final int KEYPAD = 4 ; /* * 报表打印机 */ public static final int REPORTPRINT = 5 ; /* * PHONE */ public static final int PHONE = 6 ; /* * MODEN */public static final int MODEN = 7 ;执行这条语句的时候uiMgr = UIMainManager.getInstance();会间接执行 private static HashMap actionMap = WsTxConfig.getActionMap(); FieldBuffer fieldbuffer = ResourceReader.getValueFromResource(ACTIONXML, Action);把 ACTIONXML = TELLERXMLDIR + /Action.xml;文件里面的数据加载到actionMap里面,接着实例化UIManager类,执行UIManager类的initial()方法。分3个步骤,第一步是:componentIniters = WsTxConfig.getComponentIniters();现在我称它为组件管理器。 在 getComponentIniters()中 FieldBuffer fieldbuffer = ResourceReader.getValueFromResource(LAYOUTXML, Component);把LAYOUTXML = TELLERXMLDIR + /Layout.xml;文件里面的数据加载到 DefaultComponentIniter(默认组件初始化器)里面,DefaultComponentIniter有多个,都放进了组件管理器componentiniters.putComponentIniter(defaultcomponentiniter); fieldbuffer = ResourceReader.getValueFromResource(DEFAULTSETFILE, DefaultSet);设置每个组件默认的背景色,前景色,字体类型。从xml文件里面获取。第二步骤: menuIniters = WsTxConfig.getMenuIniters();现在我称menuIniters它为菜单栏管理器。 WsTxConfig.getMenuIniters()中, FieldBuffer fieldbuffer = ResourceReader.getValueFromResource(MENUXML, MenuItem);把 MENUXML = TELLERXMLDIR + /Menu.xml;文件里面的数据加载到menuiniter(菜单栏初始器)里面,menuiniter有多个,都放进菜单管理器menuiniters.addMenuIniter(menuiniter) 。其实就是设置下图菜单栏的值第三步骤: toolBarIniters = WsTxConfig.getToolBarIniters(); 现在我称toolBarIniters它为工具栏管理器。sTxConfig.getToolBarIniters()中,FieldBuffer fieldbuffer = ResourceReader.getValueFromResource(TOOLBARXML, ToolItem);文件里面的数据加载到ToolBarIniter toolbariniter = new ToolBarIniter();(工具栏初始器)里面,toolbariniter有2个,都放进菜单管理器menuiniters.addMenuIniter(menuiniter) 。其实就是设置下图工具栏的值在这个panel中,实现的时候的语句是MainFrame中的58行 baseInfoPanel = (BaseInfoPanel)PanelFactory.createPanel(BaseInfoPanelImpl);实例化BaseInfoPanelImpl。 transactionPanel = (TransactionPanel)PanelFacto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论