2007年10月19日
#
遷移簡(jiǎn)介
應(yīng)用工具:cvs2git
工作原理:文件系統(tǒng)的copy, from cvs repository to export temp file, then import to Git repository.
使用條件: Git version 1.5.4.4 or later (我們的目標(biāo) git 庫(kù)版本:
git --version
git version 1.9.0
git --version
git version 1.9.0
cvs2git工具安裝
遷移過(guò)程
具體的遷移過(guò)程:
以下為遷移wxxr-core-framework
1. 在123.1上用cvs2git把cvs倉(cāng)庫(kù),導(dǎo)出成git的備份文件(blob file and dump file)
- cvs2git --blobfile=/tmp/cvs2git/output/git-blob-cfw.dat --dumpfile=/tmp/cvs2git/output/git-dump-cfw.dat --username=zhangjunqing --fallback-encoding=GBK /app/cvsroot/wxxr-projects/wxxr-core-framework
- 創(chuàng)建本地git倉(cāng)庫(kù)
- git init --bare wxxr-core-framework.git
- 下載導(dǎo)出的git的備份文件到本地臨時(shí)目錄 **
- cd /Users/zhangjq/temp/cvs2git
- scp -r djboss@192.168.123.1:/tmp/cvs2git/output/git-* .
- 用git的fast-import命令把從cvs導(dǎo)出的git備份文件導(dǎo)入剛創(chuàng)建的git倉(cāng)庫(kù)** cd /Users/zhangjq/git/wxxr-core-framework/wxxr-core-framework.git** cat /Users/zhangjq/temp/cvs2git/git-blob-cfw.dat /Users/zhangjq/temp/cvs2git/git-dump-cfw.dat | git fast-import
- 在Stash 上創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)** 創(chuàng)建了framework-core 倉(cāng)庫(kù)集,并在此倉(cāng)庫(kù)集下創(chuàng)建了wxxr-core-framework, wxxr-core-web 等遠(yuǎn)程倉(cāng)庫(kù)**http://developer.corp.wxxr.com.cn/git/projects/FRMCORE/repos/wxxr-core-framework/browse
- 在本地執(zhí)行** git branch -D TAG.FIXUP (執(zhí)行g(shù)it branch -a 沒(méi)有找到這個(gè)分支,為什么刪除?error: branch 'TAG.FIXUP' not found. )
-
- git push --all origin (將本地的所有分支都推送到遠(yuǎn)程主機(jī))
- git push -
tags origin (最后,git push不會(huì)推送標(biāo)簽(tag),除非使用-tags選項(xiàng)。)
- 至此,完成了wxxr-core-framework的遷移。下一步執(zhí)行比較驗(yàn)證。
Git 時(shí)不時(shí)地將這些對(duì)象打包至一個(gè)叫 packfile 的二進(jìn)制文件以節(jié)省空間并提高效率。當(dāng)倉(cāng)庫(kù)中有太多的松散對(duì)象,或是手工調(diào)用git gc 命令,或推送至遠(yuǎn)程服務(wù)器時(shí),Git 都會(huì)這樣做。
附:遷移腳本
遷移驗(yàn)證
用本地cvs代碼庫(kù)代碼與git下載的庫(kù)代碼比較,有$Revision$ 的少版本信息外,其它一切正常。
遷移報(bào)告
wxxr-core-framework
fast-import wxxr-core-framework source code:
:)
@import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:helpmojo (generate-help-mojo) on project wxxr-build-maven-plugin: Execution generate-help-mojo of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:helpmojo failed: 48188 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:helpmojo (generate-help-mojo) on project wxxr-build-maven-plugin: Execution generate-help-mojo of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:helpmojo failed: 48188
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution generate-help-mojo of goal org.apache.maven.plugins:maven-plugin-plugin:3.2:helpmojo failed: 48188
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:144)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 48188
at org.objectweb.asm.ClassReader.readClass(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.apache.maven.tools.plugin.annotations.scanner.DefaultMojoAnnotationsScanner.scanFile(DefaultMojoAnnotationsScanner.java:139)
at org.apache.maven.tools.plugin.annotations.scanner.DefaultMojoAnnotationsScanner.scan(DefaultMojoAnnotationsScanner.java:85)
at org.apache.maven.tools.plugin.annotations.JavaAnnotationsMojoDescriptorExtractor.scanAnnotations(JavaAnnotationsMojoDescriptorExtractor.java:125)
at org.apache.maven.tools.plugin.annotations.JavaAnnotationsMojoDescriptorExtractor.execute(JavaAnnotationsMojoDescriptorExtractor.java:104)
at org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor(DefaultMojoScanner.java:108)
at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:233)
at org.apache.maven.plugin.plugin.HelpGeneratorMojo.execute(HelpGeneratorMojo.java:88)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
臨時(shí)解決辦法:將commons-jelly 版本由1.0改為1.0-RC1
<dependency>
<groupId>commons-jelly</groupId>
<artifactId>commons-jelly</artifactId>
<version>1.0-RC1</version>
</dependency>
Daniel
Mohl是一名專業(yè)的軟件工程師/架構(gòu)師,他的興趣包括理解各種復(fù)雜的編程語(yǔ)言、企業(yè)應(yīng)用架構(gòu)以及如何搭建業(yè)務(wù)與技術(shù),他通曉F#、C#、
CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL
Server等技術(shù)。有著多年的軟件開(kāi)發(fā)經(jīng)驗(yàn)。
他經(jīng)常會(huì)被一些有潛力和有前途的程序員問(wèn)到:“我要怎么做才能成為一名架構(gòu)師?”說(shuō)實(shí)話,這已經(jīng)是老生常談的話題了,答案當(dāng)然是視情況而定。不過(guò)他也根據(jù)自己的經(jīng)驗(yàn),給大家一些建議,并且提供一些資料,助你快速走上架構(gòu)師這條道路。
下面是Daniel Mohl所提出的列表,供大家參考:
首先,你必須不斷地尋求改善和提升自己。而提升自己的最好方法是閱讀,下面有幾本書,對(duì)我的軟件架構(gòu)技能的提升很大。推薦給大家:
除了閱讀,還有沒(méi)有其他需要注意的、或者在平時(shí)需要關(guān)注的東西呢?
- 每隔一兩年學(xué)習(xí)一門新語(yǔ)言,F(xiàn)#是個(gè)不錯(cuò)的選擇。
- 選擇一個(gè)重點(diǎn)領(lǐng)域,但是盡可能對(duì)許多技術(shù)有個(gè)高層次的理解
- 對(duì)你所關(guān)注的重點(diǎn)領(lǐng)域,開(kāi)通一個(gè)博客并且繼續(xù)拓展該領(lǐng)域的知識(shí)面,讓自己漸漸成為一名專家。
- 與不同的技術(shù)、編程語(yǔ)言、設(shè)計(jì)模式和結(jié)構(gòu)等(甚至是它并沒(méi)有在日常中給予你直接的幫助)打交道。你永遠(yuǎn)都不知道這些知識(shí)是否會(huì)在未來(lái)派上用場(chǎng),但是對(duì)你絕對(duì)是有益無(wú)害。
- 根據(jù)你的目標(biāo)受眾來(lái)談?wù)?#8220;語(yǔ)言”。作為一名架構(gòu)師,你將會(huì)與各種各樣等級(jí)的人打交道,并且他們對(duì)技術(shù)的理解也會(huì)有所不同。所以要學(xué)會(huì)調(diào)整你的講解方式,做到因人制宜,讓他們能夠理解。
- 閱讀博客、觀看/參加Twitter或G+、聽(tīng)播客、讀雜志、參加用戶小組會(huì)議和技術(shù)會(huì)議,并且在這些會(huì)議上踴躍發(fā)言。這些都會(huì)給你帶來(lái)無(wú)窮無(wú)盡的知識(shí)和樂(lè)趣,建立自己的“品牌”和提供交流機(jī)會(huì)。
- 紀(jì)律是關(guān)鍵。永遠(yuǎn)做你自己最喜歡的工作,即使它聽(tīng)起來(lái)不那么有趣。每天安排時(shí)間學(xué)習(xí)一些新的東西,即使是15分鐘也可,千萬(wàn)不要被其他事情占用了這段時(shí)間。
- 開(kāi)啟博客之旅。我發(fā)現(xiàn),與閱讀比起來(lái),把東西寫下來(lái)會(huì)讓你有更深入的理解。
- 利用好“閑暇時(shí)間”,這段時(shí)間可以拿本雜志讀讀,或者去聽(tīng)聽(tīng)播客等。
- 了解各種可用的開(kāi)發(fā)工具,可以使架構(gòu)師的工作更好、更有效
- 看許多不同項(xiàng)目里的架構(gòu)
- 學(xué)習(xí)各個(gè)項(xiàng)目的管理方法
- 學(xué)習(xí)一些評(píng)估技術(shù),對(duì)業(yè)務(wù)可以提供有價(jià)值的評(píng)估
上面是作者總結(jié)出來(lái)的列表,雖然看起來(lái)有點(diǎn)枯燥無(wú)味,但在整個(gè)軟件開(kāi)發(fā)過(guò)程中是樂(lè)趣無(wú)窮的。如果你還有更好的建議,歡迎與我們分享。
來(lái)自:How to Become a Software Architect
Maven在Mac平臺(tái)安裝
如果有安裝XCode, XCode會(huì)自動(dòng)幫你安裝Maven, 安裝在/usr/share/java/安裝3.0.3
- 到http://maven.apache.org/download.html
下載maven 3.0.3 - 將apache-maven-3.0.3-bin.tar.gz解壓縮到/usr/share/java
- 移除/usr/share下的softlink maven
- ln -s /usr/share/java/apache-maven-3.0.3 /usr/share/maven
- 修改~/.profile 設(shè)定M3_HOME=/usr/share/java/apache-maven-3.0.3
注意事項(xiàng)
不能同時(shí)設(shè)M2_HOME與M3_HOME兩個(gè)環(huán)境變數(shù), 不然執(zhí)行maven會(huì)出現(xiàn)以下的exception
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
參考:http://cb.esast.com/cb/wiki/22945
Installing Maven 3 on OS X
1. Install Mac Ports
2. Install Maven 3
Open a terminal and type the following:
sudo port install maven3 maven_select
sudo maven_select maven3
MBean Name: |
Domain Name: |
jboss.jca |
|
service: |
ConnectionFactoryBinding |
|
name: |
/wmq/XAQueueConnectionFactory |
MBean Java Class: |
org.jboss.resource.connectionmanager.ConnectionFactoryBindingService |
/** Whether to use the java naming context */
protected boolean useJavaContext = true;
src/main/org/jboss/resource/adapter/jms/inflow/JmsActivationSpec.java:
Caused by: javax.jms.JMSException:
MQJCA1018:Only one session per connection allowed.
/** The maximum number of sessions */
private int maxSession = 15;
<tx-connection-factory>
<jndi-name>/wmq/XAQueueConnectionFactory</jndi-name>
<xa-transaction>
</xa-transaction>
<rar-name>wmq.jmsra.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection-definition>
<config-property name="channel" type="java.lang.String">SYSTEM.ADMIN.SVRCONN</config-property>
<config-property name="hostName" type="java.lang.String">192.168.123.20</config-property>
<config-property name="port" type="java.lang.String">1420</config-property>
<config-property name="queueManager" type="java.lang.String">QM.NODE.20</config-property>
<config-property name="maxSession" type="java.lang.String">1</config-property>
<use-java-context>false</use-java-context>
<max-pool-size>20</max-pool-size>
</tx-connection-factory>
OptimalJ是一款高級(jí)的企業(yè)級(jí)應(yīng)用開(kāi)發(fā)環(huán)境,它使用成熟的模式(Pattern)
直接從可視化模型生成全面的、可運(yùn)行的J2EE應(yīng)用系統(tǒng),實(shí)現(xiàn)了最好的實(shí)踐經(jīng)驗(yàn)并基于J2EE規(guī)則編寫代碼。使用OMG的模型驅(qū)動(dòng)架構(gòu)標(biāo)準(zhǔn),
OptimalJ幫助簡(jiǎn)化開(kāi)發(fā),使架構(gòu)師、設(shè)計(jì)人員和開(kāi)發(fā)人員快速開(kāi)發(fā)可靠的應(yīng)用系統(tǒng)
MDA的
開(kāi)發(fā)工具
OptimalJ總共有三個(gè)版本:
一、架構(gòu)版本
1、可以
定制
模型和增加、修改刪除轉(zhuǎn)換模式。
2、涵蓋專業(yè)版本的所有功能。
3、適合公司的
架構(gòu)師
使用。
二、專業(yè)版本
1、開(kāi)發(fā)PIM、PSM和代碼模型。
2、涵蓋開(kāi)發(fā)版本的所有功能。
3、適合公司的分析和設(shè)計(jì)人員使用。
三、開(kāi)發(fā)版本
1、可以
只讀
PIM、PSM模型,可以修改Free Block的代碼,并添加自己的代碼。
2、可以調(diào)試、運(yùn)行測(cè)試系統(tǒng)的功能。
3、適合公司的開(kāi)發(fā)人員使用。
看了好多關(guān)于tomcat 如何跟蹤的文檔
大多說(shuō)要手工加上debug
Tomcat:在catalina.bat中:%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS%后面加上
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
其實(shí)還有更簡(jiǎn)單的做法:
修改startup.sh
在最后一行啟動(dòng)代碼中加上 jpda 即可
參考如下:
exec "$PRGDIR"/"$EXECUTABLE"
jpda start "$@"
需要下載包:
1.dwonload jad包
http://www.kpdus.com/jad.html#download
http://www.kpdus.com/jad/linux/jadls158.zip
(
Jad 1.5.8e for Linux (statically linked)
(389972 bytes)
- take this version if the one above crashes or displays the "seek error" message.
)
2.download jadclipse包
http://jaist.dl.sourceforge.net/sourceforge/jadclipse/net.sf.jadclipse_3.3.0.jar
嘗試這個(gè)地址查找最新包: http://sourceforge.net/project/showfiles.php?group_id=40205
步驟:
1. 解壓jadls158.zip 到/home/zhangjunqing/devTools/這包僅兩 個(gè)文件,jad , Readme.txt.
2. net.sf.jadclipse_3.3.0.jar 此包c(diǎn)opy 到eclipse\plugins目錄下
3. 啟動(dòng)Eclipse后,在Windows——>Perference——>Java下面應(yīng)該會(huì)多出一個(gè)JadClipse目錄,
修改配置jadclipse:設(shè)置path to decompiler為jad 的全路徑,如:/home/zhangjunqing/devTools/jad
可在Directory for temporary files中指定臨時(shí)文件的路徑
4.查Eclipse的Windows——>Perference——>General->Editors->File Associations中修改“*.class”默認(rèn)關(guān)聯(lián)的編輯器為“JadClipse Class File Viewer”
5.安裝完成,雙擊class文件,Eclipse將自動(dòng)反編譯了。
trouble:
在執(zhí)行步驟5時(shí)遇到如下錯(cuò)誤:
/home/zhangjunqing/devTools/jad: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
我用的linux 為ubuntu 7.10. 執(zhí)行以下命令,
sudo apt-get install libstdc++2.10-glibc2.2
重啟eclipse 后解決 。
##
關(guān)鍵詞: PSIVTRun MQQueueManager
一般的進(jìn)行nojndi 驗(yàn)證全能成功,下面進(jìn)行jndi 方式的驗(yàn)證:
要先建jndi , 供PSIVTRun 默認(rèn)使用.
cd /opt/mqm/java/bin
./JMSAdmin
DEFINE TCF(ivtTCF)
--This command defines the TopicConnectionFactory.
DEFINE T(ivtT) TOPIC(MQJMS/PSIVT/Information)
--This command defines the Topic.
執(zhí)行命令:
./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
即可.
[djboss@DevStation1 bin]$ ./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
5724-H72, 5655-L82, 5724-L26 (c) Copyright IBM Corp. 2002, 2005. All Rights Reserved.
用于 Java(tm) 消息服務(wù)的 Websphere MQ 類 6.0
發(fā)布/預(yù)訂安裝驗(yàn)證測(cè)試
正在使用受管對(duì)象,請(qǐng)確保它們可用
正在檢索來(lái)自 JNDI 的 TopicConnectionFactory
正在檢索來(lái)自 JNDI 的 Topic
正在創(chuàng)建 Connection
正在創(chuàng)建 Session
正在創(chuàng)建 TopicPublisher
正在創(chuàng)建 TopicSubscriber
正在創(chuàng)建 TextMessage
正在添加文本
正在將消息發(fā)布至 topic://MQJMS/PSIVT/Information
正在等待消息抵達(dá)[最大為 5 秒]...
取出消息:
JMS 消息類: jms_text
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0
JMSPriority: 4
JMSMessageID: ID:414d5120706172656e74323020202020060ee147c5da0020
JMSTimestamp: 1206523343329
JMSCorrelationID:ID:414d5120706172656e74323020202020060ee14705680320
JMSDestination: topic://MQJMS/PSIVT/Information
JMSReplyTo: null
JMSRedelivered: false
JMS_IBM_PutDate:20080326
JMSXAppID:parent20
JMS_IBM_Format:MQSTR
JMS_IBM_PutApplType:26
JMS_IBM_MsgType:8
JMSXUserID:djboss
JMS_IBM_PutTime:09222333
JMSXDeliveryCount:1
A simple text message from the MQJMSPSIVT program
應(yīng)答字符串等于原始字符串
正在關(guān)閉 TopicSubscriber
正在關(guān)閉 TopicPublisher
正在關(guān)閉 Session
正在關(guān)閉 Connection
PSIVT 已完成
[djboss@DevStation1 bin]$
若遇到如下錯(cuò)誤,是由于默認(rèn)隊(duì)列管理器沒(méi)有建立.
[tjboss@TestStation30 bin]$ ./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
5724-H72, 5655-L82, 5724-L26 (c) Copyright IBM Corp. 2002, 2005. All Rights Reserved.
用于 Java(tm) 消息服務(wù)的 Websphere MQ 類 6.0
發(fā)布/預(yù)訂安裝驗(yàn)證測(cè)試
正在使用受管對(duì)象,請(qǐng)確保它們可用
正在檢索來(lái)自 JNDI 的 TopicConnectionFactory
正在檢索來(lái)自 JNDI 的 Topic
正在創(chuàng)建 Connection
捕獲到異常: javax.jms.JMSException: MQJMS2005: 未能為 '' 創(chuàng)建 MQQueueManager
鏈接的異常: com.ibm.mq.MQException: MQJE001: 完成代碼是 2,原因?yàn)?2059
PSIVT 已完成
winXP 上用圖形的隊(duì)列管理器工具就可以了.

修改屬性圖:
若為lunix 環(huán)境:
修改在mqm 用戶的當(dāng)前目錄有文件mqs.ini
直接修改加入
DefaultQueueManager:
Name=parent20
也可用命令產(chǎn)生:
>crtmqm -q testQM
這條語(yǔ)句將產(chǎn)生
DefaultQueueManager:
Name=testQM
改成你想要的結(jié)果即可.
參考資料:
The publish/subscribe installation verification test
MQJMS5062 2085 PSIVTRun with JNDI failed
2008-03-23 12:49:02,310 WARN [CMPP Protocol Thread :adaptor2 -- 58] [com.arjuna.ats.arjuna.logging.arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@f69bf2
org.springframework.jms.InvalidDestinationException: MQJMS2008: 未能打開(kāi) MQ 隊(duì)列 CENTER; nested exception is javax.jms.InvalidDestinationException: MQJMS2008: 未能打開(kāi) MQ 隊(duì)列 CENTER; nested exception is com.ibm.mq.MQException: MQJE001: 完成代碼是 2,原因?yàn)?2085
Caused by:
javax.jms.InvalidDestinationException: MQJMS2008: 未能打開(kāi) MQ 隊(duì)列 CENTER
at com.ibm.mq.jms.MQQueueServices.getQueueOpenException(MQQueueServices.java:412)
at com.ibm.mq.jms.MQQueueServices.getOutputQueue(MQQueueServices.java:354)
at com.ibm.mq.jms.JMSServicesMgr.getOutputQueue(JMSServicesMgr.java:145)
at com.ibm.mq.jms.MQSession.createQSender(MQSession.java:6359)
at com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:240)
at com.ibm.mq.jms.MQQueueSession.createProducer(MQQueueSession.java:360)
at org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:846)
at org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:827)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:505)
at org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:477)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:428)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:475)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:467)
at com.wxxr.common.service.JMSDataTransferer.transfer(JMSDataTransferer.java:48)
at com.wxxr.workstation.jboss.service.WSDataTransferInterceptor$1.invoke(WSDataTransferInterceptor.java:66)
at com.wxxr.common.service.UserCacheLoaderService$updateObject_7337301020227518154.invokeNext(UserCacheLoaderService$updateObject_7337301020227518154.java)
at com.wxxr.common.service.UserCacheLoaderService.updateObject(UserCacheLoaderService.java)
at com.wxxr.common.service.BizObjectCacheLoader.updateNode(BizObjectCacheLoader.java:391)
at com.wxxr.common.service.BizObjectCacheLoader.put(BizObjectCacheLoader.java:255)
at com.wxxr.common.service.BizObjectCacheLoader.prepare(BizObjectCacheLoader.java:479)
at org.jboss.cache.interceptors.CacheStoreInterceptor.prepareCacheLoader(CacheStoreInterceptor.java:258)
at org.jboss.cache.interceptors.CacheStoreInterceptor.invoke(CacheStoreInterceptor.java:131)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:873)
at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1156)
at org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:75)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1389)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
at com.wxxr.common.jboss.ExJMSGateKeeper$MyMessageListener$onMessage_N6811220613805550889.invokeNext(ExJMSGateKeeper$MyMessageListener$onMessage_N6811220613805550889.java)
at com.wxxr.common.jboss.ExJMSGateKeeper$MyMessageListener.onMessage(ExJMSGateKeeper.java)
at com.wxxr.network.adaptor.cmpp.CMPPProtocolService.processReceivedMessage(CMPPProtocolService.java:643)
at com.wxxr.network.adaptor.cmpp.CMPPProtocolService.handleEvent(CMPPProtocolService.java:627)
at com.wxxr.network.adaptor.cmpp.AbstractCMPPSession.processMessage(AbstractCMPPSession.java:481)
at com.wxxr.network.adaptor.cmpp.AbstractCMPPClientSession.processReceivePacket(AbstractCMPPClientSession.java:73)
at com.wxxr.network.adaptor.cmpp.AbstractCMPPSession$4.run(AbstractCMPPSession.java:1001)
at com.hygensoft.common.util.AnotherThreadPoolExecutor$Worker.runTask(AnotherThreadPoolExecutor.java:397)
at com.hygensoft.common.util.AnotherThreadPoolExecutor$Worker.run(AnotherThreadPoolExecutor.java:422)
at java.lang.Thread.run(Thread.java:595)
環(huán)境:
2008年01月23日 20時(shí)05分54秒 - Process(28036.1) User(jboss) Program(dspmq)
AMQ6047: Conversion not supported.
EXPLANATION:
WebSphere MQ is unable to convert string data tagged in CCSID 0 to data in
CCSID 0.
ACTION:
Check the WebSphere MQ Application Programming Reference Appendix and the
appropriate National Language Support publications to see if the CCSIDs are
supported by your system.
----- amqxfdcx.c : 768 --------------------------------------------------------
192.168.5.9
InitCtx> dis q(queue.SendQueue)
FAILIFQUIESCE(YES)
QUEUE(CENTER)
QMANAGER()
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(6)
InitCtx>
192.168.5.10
InitCtx> dis q(queue.SendQueue)
FAILIFQUIESCE(YES)
QUEUE(CENTER)
QMANAGER()
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(6)
InitCtx>
192.168.1.6
InitCtx> dis q(queue.ReceiveQueue)
FAILIFQUIESCE(YES)
QUEUE(CENTER)
QMANAGER(QM.CENTER)
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(6)
InitCtx> dis q(queue.SendQueue.guangzhou)
FAILIFQUIESCE(YES)
QUEUE(GUANGZHOU)
QMANAGER()
PERSISTENCE(APP)
CCSID(1208)
TARGCLIENT(JMS)
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(6)
InitCtx>
經(jīng)查文檔:
zh_CN.gb18030 |
簡(jiǎn)體中文 |
GB18030 |
5488 |
參考鏈接:
How to find the CCSID value associated with the coded character set for a locale in a UNIX session
MQ client does not work unless export MQCCSID is used
XC076001 with a reason code of xecX_E_CONV_NOT_SUP when LC_ALL is left blank
解決方案:
集群環(huán)境出了問(wèn)題,原因不詳,在CENTER 節(jié)點(diǎn),找到不正常的對(duì)列將其刪除.
RESET CLUSTER(WXXRCLUS) ACTION(FORCEREMOVE) QMID('QM.GUANGDONG2_2008-03-10_14.37.13') QUEUES(YES)
(注:其中的QMID 可以通過(guò)websphere MQ 資源管理器/隊(duì)列管理器集群/WXXRCLUS/完整存儲(chǔ)庫(kù)/qm.center 中找到不正常隊(duì)列的QMID.)
關(guān)鍵詞 : tomcat session EOFException
嚴(yán)重: IOException while loading persisted sessions: java.io.EOFException
嚴(yán)重: Exception loading sessions from persistent storage
原因是tomcat對(duì)硬盤的session讀取失敗,徹底解決辦法一下:將work下面的文件清空,主要是*.ser文件,或者只是刪除掉session.ser即可以解決。
-------------日志如下:
Listening for transport dt_socket at address: 17001
2008-3-20 15:51:57 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8081
2008-3-20 15:51:58 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 719 ms
2008-3-20 15:51:58 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-3-20 15:51:58 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.9
2008-3-20 15:51:58 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-3-20 15:51:58 org.apache.catalina.core.ApplicationContext log
信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
2008-3-20 15:51:59 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-3-20 15:51:59 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-3-20 15:51:59 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-3-20 15:51:59 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
log4j:WARN No appenders could be found for logger (org.apache.catalina.session.ManagerBase).
log4j:WARN Please initialize the log4j system properly.
2008-3-20 15:52:05 org.apache.catalina.session.StandardManager doLoad
嚴(yán)重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:57)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:361)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:320)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:634)
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:431)
at org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:391)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1042)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:255)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4053)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:894)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:857)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
2008-3-20 15:52:05 org.apache.catalina.session.StandardManager start
嚴(yán)重: Exception loading sessions from persistent storage
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:57)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:361)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:320)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:634)
at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:431)
at org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:391)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1042)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:255)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4053)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:894)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:857)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
2008-3-20 15:52:05 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8081
2008-3-20 15:52:05 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-3-20 15:52:05 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31 config=null
2008-3-20 15:52:05 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-3-20 15:52:06 org.apache.catalina.startup.Catalina start
信息: Server startup in 8093 ms
show databases;
root 給jboss 用戶授權(quán):
grant all on jbpm.* to jboss@localhost identified by 'jboss';
jboss 用戶登錄:
mysql -ujboss -pjboss
:)
用以下語(yǔ)句可查主鍵沖突所在的表:
如 nested throwable: (java.sql.SQLException: ORA-00001: unique constraint (DEVSTATION3.SYS_C0019365) violated
--
select owner,CONSTRAINT_NAME,table_name from user_CONSTRAINTS where CONSTRAINT_NAME='SYS_C0066622'
開(kāi)發(fā)環(huán)境是在linux redhat 上,
開(kāi)發(fā)機(jī)為win Xp OS
MQ version 6.0.
目的:Xp 遠(yuǎn)程管理linux 下的MQ 隊(duì)列管理器
在linux 上,我已經(jīng)將jboss 加入到了mqm 組
用jboss 登錄linux 做以下操作(以下是參考網(wǎng)友配置,已經(jīng)不能再精簡(jiǎn)了)
1. runmqsc QM.NODE.20
2. define channel(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
3. alter qmgr CCSID(1381)
4. END
5. endmqm QM.NODE.20
6. strmqm QM.NODE.20
7. strmqcsv QM.NODE.20
8. runmqlsr -t tcp -p 1421 -m QM.NODE.20 &
9. netstat -an |grep 1421
win xp 開(kāi)發(fā)機(jī)用戶為本機(jī)管理員(administrator)
啟初想把管理員加入到 上面語(yǔ)句的MCAUSER 中,結(jié)果報(bào)錯(cuò)說(shuō)'administrator' 字符太長(zhǎng),失敗.
在win xp 下把本機(jī)管理員加入到mqm 組.
即可成功