小编MIt*_*ing的帖子

如何检查IP地址是否是多宿主系统上的本地主机?

对于具有多个NIC卡的计算机,Java中是否有方便的方法来告知给定的IP地址是否是当前计算机.例如

boolean IsThisMyIpAddress("192.168.220.25");
Run Code Online (Sandbox Code Playgroud)

java

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

使用RabbitMQ(Java客户端),有没有办法确定消费期间网络连接是否关闭?

我正在使用Java客户端在RHEL 5.3上使用RabbitMQ.我有2个节点(机器).Node1使用Java帮助程序类QueueingConsumer消耗来自Node2上队列的消息.

QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume("MyQueueOnNode2", noAck, consumer);
while (true)
{
   QueueingConsumer.Delivery delivery = consumer.nextDelivery();
   ... Process message - delivery.getBody()
}
Run Code Online (Sandbox Code Playgroud)

如果接口在Node1或Node2上关闭(例如ifconfig eth1 down),则客户端(上面)永远不会知道网络不再存在.RabbitMQ是否在Java客户端上提供某种类型的配置,可用于确定连接是否已消失.关闭Node2上的RabbitMQ服务器将触发ShutdownSignalException,可以捕获该应用程序并且应用程序可以进入重新连接循环.但是,关闭接口不会导致任何类型的异常发生,因此代码将永远等待consumer.nextDelivery().

我也尝试过使用此调用的超时版本.例如

QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume("MyQueueOnNode2", noAck, consumer);
int timeout_ms = 30000;
while (true)
{
   QueueingConsumer.Delivery delivery = consumer.nextDelivery(timeout_ms);
   if (delivery == null)
   {
      if (channel.isOpen() == false)             // Seems to always return true
      { throw new ShutdownSignalException(); }
   }
   else
   {
     ... Process message - delivery.getBody()
   }
}
Run Code Online (Sandbox Code Playgroud)

但似乎这总是返回true(即使接口已关闭).我假设在连接上注册ShutdownListener会产生相同的结果,但还没有尝试过.

有没有办法配置某种心跳,或者你只需​​要编写自定义租约逻辑(例如"我现在在这里")才能使其正常工作?

java amqp rabbitmq

13
推荐指数
1
解决办法
6739
查看次数

将JBoss GateIn Portal与PicketLink-STS(SAML)集成

我试图找出(如果可能的话)如何将JBoss GateIn Portal应用程序与PicketLink-STS集成以生成可用于实现"单点登录"的安全令牌(即SAML断言)(因此可以与后端对话)需要身份验证的EJB服务).

有关如何使用EJB服务配置JBoss 5.1并使用PicketLink-STS保护它们以获得安全令牌(通过安全域和登录配置模块实现)进行身份验证的文档很好.

但是,目前尚不清楚如何让JBoss 5.1/GateIn门户应用程序与PicketLink-STS集成,以便portlet可以获取安全令牌(对于登录用户),然后传递给后端EJB服务.验证PicketLink-STS验证?

不知道这是可能的还是一条死路.

jboss saml enterprise-portal gatein

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

标签 统计

java ×2

amqp ×1

enterprise-portal ×1

gatein ×1

jboss ×1

rabbitmq ×1

saml ×1