小编Den*_*ise的帖子

@在p4文件名中

我想稍微编写脚本p4.不幸的是,我们跟踪的一些文件名在文件名中有"@".

文件名在表单中a@b.xml.如果我尝试p4 sync a\@b.xml在mac(或p4 sync a@b.xmlWindows)上执行某些操作,则会出现错误:

无效的changelist/client/label/date'@ b.xml'

还有另一种逃避它的方法,perforce会识别吗?

scripting perforce escaping

7
推荐指数
1
解决办法
2438
查看次数

org.apache.activemq.transport.InactivityIOException:无法发送,通道已经失败

我正在使用 apache 的 activemq 进行排队。在向队列写入内容时,我们开始经常看到以下异常:

Caused by: org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: 
    at org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:282)
    at org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:271)
    at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
    at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
    at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
    at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
    at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
    at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1366)
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚是什么导致了这种情况 - 甚至坦率地说,从哪里开始调试导致这种情况的原因。

这是队列设置代码:

    camelContext = new DefaultCamelContext();
    camelContext.setErrorHandlerBuilder(new LoggingErrorHandlerBuilder());
    camelContext.getShutdownStrategy().setTimeout(SHUTDOWN_TIMEOUT_SECONDS);

    routePolicy = new RoutePolicy();
    routePolicy.setCamelContext(camelContext);

    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
    connectionFactory.setBrokerURL(queueUri);
    // use a pooled connection factory between the module and the queue
    pooledConnectionFactory = new PooledConnectionFactory(connectionFactory);

    // how many connections should there be in the session pool?
    pooledConnectionFactory.setMaxConnections(this.maxConnections); …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic apache-camel

7
推荐指数
1
解决办法
2万
查看次数

特定服务器上的docker容器内的SSL证书验证失败

我遇到了一个奇怪的证书问题,我无法弄清楚如何调试.当我在一个特定服务器上的docker容器内运行wget时,它无法验证证书.同样的wget在服务器机器本身(在docker之外)上工作正常,并且它在不同服务器上的同一个docker容器内工作.

这是docker容器的设置:

docker run --rm -ti debian:jessie bash
apt-get update
apt-get install wget
wget https://google.com
Run Code Online (Sandbox Code Playgroud)

回应是:

converted 'https://google.com' (ANSI_X3.4-1968) -> 'https://google.com' (UTF-8)
--2016-06-22 14:22:02--  https://google.com/
Resolving google.com (google.com)... 216.58.217.142, 2607:f8b0:4004:807::200e
Connecting to google.com (google.com)|216.58.217.142|:443... connected.
ERROR: The certificate of 'google.com' is not trusted.
ERROR: The certificate of 'google.com' hasn't got a known issuer.
The certificate's owner does not match hostname 'google.com'
Run Code Online (Sandbox Code Playgroud)

由于此相同的过程适用于其他服务器,因此问题似乎只是该服务器本身的某些证书​​问题.但我必须感到困惑:为什么服务器上的证书本身与docker容器内发生的事情有什么关系?

我非常感谢对此的任何见解,特别是我可以采取的任何调试步骤来更好地理解问题.

ssl docker

6
推荐指数
2
解决办法
9351
查看次数

使用带有activemq的camel"暂停"路由的正确方法是什么?

我的基本问题是我只能在任何1小时的时间内处理来自我的一个队列(所有机器)的7000条消息.我没有看到用camel或activemq做这个的方法,所以我采用了自己的路由停止/启动逻辑.我看到了很多方法,我尝试了一些方法(只是遇到问题).

  1. camelContext.stopRoute(route):这可以使消息停止处理,但是当我调用时camelContext.startRoute(route),它会泄漏tcp连接,最终导致activemq服务器达到其极限并死亡.
  2. camelContext.suspendRoute(route):这也会阻止消息被处理并且不会泄漏连接,但它似乎会终止在我调用时不会重新激活的活动消费者(在管理面板中可见)camelContext.resumeRoute(route).我认为,即使我恢复,最终也可能导致根本没有消息从该队列中被处理掉.
  3. 实现自定义RoutePolicy.公平地说,我还没有尝试过,但似乎它会成为我根据上面选择的暂停方法遇到的同样问题的牺牲品.

有没有解决这个问题的方法,我还没有遇到过?

java activemq-classic apache-camel

5
推荐指数
1
解决办法
5518
查看次数

在perforce中分配一个搁置的changlist?

我对Perforce的新搁架命令感到非常兴奋.他们说你应该能够将变更清单"重新分配"给其他人,然后他们可以取消搁置.

如何重新分配搁置的变更清单?有没有办法在p4v中执行此操作,或仅在命令行执行此操作?

perforce shelve

4
推荐指数
1
解决办法
2344
查看次数