#
迁移简介
应用工具:cvs2git
工作原理:文件系统的copy, from cvs repository to export temp file, then import to Git repository.
使用条件: Git version 1.5.4.4 or later (我们的目标 git 库版本:
git --version
git version 1.9.0
git --version
git version 1.9.0
cvs2git工具安装
迁移过程
具体的迁移过程:
以下为迁移wxxr-core-framework
1. 在123.1上用cvs2git把cvs仓库,导出成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
- 创建本地git仓库
- git init --bare wxxr-core-framework.git
- 下载导出的git的备份文件到本地临时目录 **
- cd /Users/zhangjq/temp/cvs2git
- scp -r djboss@192.168.123.1:/tmp/cvs2git/output/git-* .
- 用git的fast-import命令把从cvs导出的git备份文件导入刚创建的git仓库** 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 上创建远程仓库** 创建了framework-core 仓库集,并在此仓库集下创建了wxxr-core-framework, wxxr-core-web 等远程仓库**http://developer.corp.wxxr.com.cn/git/projects/FRMCORE/repos/wxxr-core-framework/browse
- 在本地执行** git branch -D TAG.FIXUP (执行git branch -a 没有找到这个分支,为什么删除?error: branch 'TAG.FIXUP' not found. )
-
- git push --all origin (将本地的所有分支都推送到远程主机)
- git push -
tags origin (最后,git push不会推送标签(tag),除非使用-tags选项。)
- 至此,完成了wxxr-core-framework的迁移。下一步执行比较验证。
Git 时不时地将这些对象打包至一个叫 packfile 的二进制文件以节省空间并提高效率。当仓库中有太多的松散对象,或是手工调用git gc 命令,或推送至远程服务器时,Git 都会这样做。
附:迁移脚本
迁移验证
用本地cvs代码库代码与git下载的库代码比较,有$Revision$ 的少版本信息外,其它一切正常。
迁移报告
wxxr-core-framework
fast-import wxxr-core-framework source code:
:)
@import url(http://www.blogjava.net/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
临时解决办法:将commons-jelly 版本由1.0改为1.0-RC1
<dependency>
<groupId>commons-jelly</groupId>
<artifactId>commons-jelly</artifactId>
<version>1.0-RC1</version>
</dependency>
Daniel
Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、
CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL
Server等技术。有着多年的软件开发经验。
他经常会被一些有潜力和有前途的程序员问到:“我要怎么做才能成为一名架构师?”说实话,这已经是老生常谈的话题了,答案当然是视情况而定。不过他也根据自己的经验,给大家一些建议,并且提供一些资料,助你快速走上架构师这条道路。
下面是Daniel Mohl所提出的列表,供大家参考:
首先,你必须不断地寻求改善和提升自己。而提升自己的最好方法是阅读,下面有几本书,对我的软件架构技能的提升很大。推荐给大家:
除了阅读,还有没有其他需要注意的、或者在平时需要关注的东西呢?
- 每隔一两年学习一门新语言,F#是个不错的选择。
- 选择一个重点领域,但是尽可能对许多技术有个高层次的理解
- 对你所关注的重点领域,开通一个博客并且继续拓展该领域的知识面,让自己渐渐成为一名专家。
- 与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。
- 根据你的目标受众来谈论“语言”。作为一名架构师,你将会与各种各样等级的人打交道,并且他们对技术的理解也会有所不同。所以要学会调整你的讲解方式,做到因人制宜,让他们能够理解。
- 阅读博客、观看/参加Twitter或G+、听播客、读杂志、参加用户小组会议和技术会议,并且在这些会议上踊跃发言。这些都会给你带来无穷无尽的知识和乐趣,建立自己的“品牌”和提供交流机会。
- 纪律是关键。永远做你自己最喜欢的工作,即使它听起来不那么有趣。每天安排时间学习一些新的东西,即使是15分钟也可,千万不要被其他事情占用了这段时间。
- 开启博客之旅。我发现,与阅读比起来,把东西写下来会让你有更深入的理解。
- 利用好“闲暇时间”,这段时间可以拿本杂志读读,或者去听听播客等。
- 了解各种可用的开发工具,可以使架构师的工作更好、更有效
- 看许多不同项目里的架构
- 学习各个项目的管理方法
- 学习一些评估技术,对业务可以提供有价值的评估
上面是作者总结出来的列表,虽然看起来有点枯燥无味,但在整个软件开发过程中是乐趣无穷的。如果你还有更好的建议,欢迎与我们分享。
来自:How to Become a Software Architect
Maven在Mac平台安裝
如果有安裝XCode, XCode會自動幫你安裝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 設定M3_HOME=/usr/share/java/apache-maven-3.0.3
注意事項
不能同時設M2_HOME與M3_HOME兩個環境變數, 不然執行maven會出現以下的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是一款高级的企业级应用开发环境,它使用成熟的模式(Pattern)
直接从可视化模型生成全面的、可运行的J2EE应用系统,实现了最好的实践经验并基于J2EE规则编写代码。使用OMG的模型驱动架构标准,
OptimalJ帮助简化开发,使架构师、设计人员和开发人员快速开发可靠的应用系统
MDA的
开发工具OptimalJ总共有三个版本:
一、架构版本
1、可以
定制模型和增加、修改删除转换模式。
2、涵盖专业版本的所有功能。
3、适合公司的
架构师使用。
二、专业版本
1、开发PIM、PSM和代码模型。
2、涵盖开发版本的所有功能。
3、适合公司的分析和设计人员使用。
三、开发版本
1、可以
只读PIM、PSM模型,可以修改Free Block的代码,并添加自己的代码。
2、可以调试、运行测试系统的功能。
3、适合公司的开发人员使用。
看了好多关于tomcat 如何跟踪的文档
大多说要手工加上debug
Tomcat:在catalina.bat中:%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS%后面加上
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
其实还有更简单的做法:
修改startup.sh
在最后一行启动代码中加上 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
尝试这个地址查找最新包: http://sourceforge.net/project/showfiles.php?group_id=40205
步骤:
1. 解压jadls158.zip 到/home/zhangjunqing/devTools/这包仅两 个文件,jad , Readme.txt.
2. net.sf.jadclipse_3.3.0.jar 此包copy 到eclipse\plugins目录下
3. 启动Eclipse后,在Windows——>Perference——>Java下面应该会多出一个JadClipse目录,
修改配置jadclipse:设置path to decompiler为jad 的全路径,如:/home/zhangjunqing/devTools/jad
可在Directory for temporary files中指定临时文件的路径
4.查Eclipse的Windows——>Perference——>General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”
5.安装完成,双击class文件,Eclipse将自动反编译了。
trouble:
在执行步骤5时遇到如下错误:
/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. 执行以下命令,
sudo apt-get install libstdc++2.10-glibc2.2
重启eclipse 后解决 。
##
关键词: PSIVTRun MQQueueManager
一般的进行nojndi 验证全能成功,下面进行jndi 方式的验证:
要先建jndi , 供PSIVTRun 默认使用.
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.
执行命令:
./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) 消息服务的 Websphere MQ 类 6.0
发布/预订安装验证测试
正在使用受管对象,请确保它们可用
正在检索来自 JNDI 的 TopicConnectionFactory
正在检索来自 JNDI 的 Topic
正在创建 Connection
正在创建 Session
正在创建 TopicPublisher
正在创建 TopicSubscriber
正在创建 TextMessage
正在添加文本
正在将消息发布至 topic://MQJMS/PSIVT/Information
正在等待消息抵达[最大为 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
应答字符串等于原始字符串
正在关闭 TopicSubscriber
正在关闭 TopicPublisher
正在关闭 Session
正在关闭 Connection
PSIVT 已完成
[djboss@DevStation1 bin]$
若遇到如下错误,是由于默认队列管理器没有建立.
[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) 消息服务的 Websphere MQ 类 6.0
发布/预订安装验证测试
正在使用受管对象,请确保它们可用
正在检索来自 JNDI 的 TopicConnectionFactory
正在检索来自 JNDI 的 Topic
正在创建 Connection
捕获到异常: javax.jms.JMSException: MQJMS2005: 未能为 '' 创建 MQQueueManager
链接的异常: com.ibm.mq.MQException: MQJE001: 完成代码是 2,原因为 2059
PSIVT 已完成
winXP 上用图形的队列管理器工具就可以了.
修改属性图:
若为lunix 环境:
修改在mqm 用户的当前目录有文件mqs.ini
直接修改加入
DefaultQueueManager:
Name=parent20
也可用命令产生:
>crtmqm -q testQM
这条语句将产生
DefaultQueueManager:
Name=testQM
改成你想要的结果即可.
参考资料:
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: 未能打开 MQ 队列 CENTER; nested exception is javax.jms.InvalidDestinationException: MQJMS2008: 未能打开 MQ 队列 CENTER; nested exception is com.ibm.mq.MQException: MQJE001: 完成代码是 2,原因为 2085
Caused by:
javax.jms.InvalidDestinationException: MQJMS2008: 未能打开 MQ 队列 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)
环境:
2008年01月23日 20时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>
经查文档:
zh_CN.gb18030 |
简体中文 |
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
解决方案:
集群环境出了问题,原因不详,在CENTER 节点,找到不正常的对列将其删除.
RESET CLUSTER(WXXRCLUS) ACTION(FORCEREMOVE) QMID('QM.GUANGDONG2_2008-03-10_14.37.13') QUEUES(YES)
(注:其中的QMID 可以通过websphere MQ 资源管理器/队列管理器集群/WXXRCLUS/完整存储库/qm.center 中找到不正常队列的QMID.)