向gitHub首次提交项目报错
现象 git pull 失败 ,提示:fatal: refusing to merge unrelated histories
原因其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并
解决
-
方法1 是 从远端库拉下来代码 , 本地要加入的代码放到远端库下载到本地的库, 然后提交上去 , 因为这样的话, 你基于的库就是远端的库, 这是一次update了
-
方法2 使用命令
git pull origin master --allow-unrelated-histories
先拉取代码,加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并.后面再push就可以了.
区块链项目
向activemq推消息报错:Caused by: javax.jms.JMSException: Error while attempting to add new Connection to the pool
很明显是向activemq连接池添加新连接失败,排查过后,发现是配置没有读进来:
原来是同事多加了一个冒号,这样相当于默认值为空,当该配置没有读到的时候,不会报错(待验证)
activemq 清空队列中的数据
项目要求清空activemq中没有消费掉的记录,用命令,新版本没有可执行文件activemq-admin,相关命令都在activemq中(如下图)
./activemq list (列出指定JMX上下文中的所有正在运行的代理)
./activemq query -QQueue=BLOCK.QUEUE.BILL.CREATE (查询JMX上下文以获取代理统计信息和信息 )
./activemq purge BLOCK.QUEUE.BILL.CREATE
命令文档:http://activemq.apache.org/activemq-command-line-tools-reference.html
activemq命令无效
解决:
修改connectorHost,修改配置文件中connectorHost为本机IP
<managementContext>
<managementContext createConnector="true" connectorHost="10.1.1.101"/>
</managementContext>
原因:
默认情况下,ActiveMQ使用useJmx后,jmx的url为
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
这时,jmx的MBean server被绑死在localhost上,无法在broker所在机器以外的机器访问。
其实ActiveMQ提供了jmx相关的几个配置,不仅可以调整这个url中的ip和端口,还可以使用其他的MBean server。
属性名称 默认值 描述
useMBeanServer true 为true则避免创建一个MBeanServer,使用jvm中已有的MBeanServer
jmxDomainName org.apache.activemq jmx域,所有ObjectName的前缀
createMBeanServer true 为true则在需要时创建一个MBeanServer
createConnector true 为true则创建一个JMX connector
connectorPort 1099 JMX connector的端口
connectorHost localhost JMX connector和RMI server(rmiServerPort>0)的host
rmiServerPort 0 RMI server的端口(便于穿过防火墙)
connectorPath /jmxrmi JMX connector注册的路径
findTigerMBeanServer true 启用或禁用查找Java 5 平台的 MBeanServer
参考:https://blog.csdn.net/kimmking/article/details/9220009/