ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。相关的知识,希望对你有一定的参考价值。
ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。多谢!
public static void main(String[] args) throws JMSExceptionString url = "tcp://localhost:61616";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
url);
// 设置用户名和密码,这个用户名和密码在conf目录下的credentials.properties文件中,也可以在activemq.xml中配置
connectionFactory.setUserName("system");
connectionFactory.setPassword("manager");
// 创建连接
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
// 创建目标,就创建主题也可以创建队列
Destination destination = session.createQueue("1230");
// 创建消息消费者
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
String selector = "JMSCorrelationID='" + "1001" + "'";
MessageConsumer consumer = session.createConsumer(destination,selector);
TextMessage tm = session.createTextMessage("12345111");
tm.setJMSCorrelationID("1001");
producer.send(tm);
while(true)
TextMessage tm1 = (TextMessage) consumer.receive(1000);
if(null!=tm1)
System.out.println(tm1);
tm1.acknowledge();
System.out.println(tm1.getText());
else
break;
consumer.close();
producer.close();
session.close();
connection.close();
参考技术A 公共静态无效的主要(字串[] args)抛出那么JMSException
字符串URL =“TCP :/ /本地主机:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的conf目录credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName“(”系统“);
”的connectionFactory setPassword( “经理人”);创建
/ /创建一个连接,
接口连接connectionFactory.createConnection();
connection.start的();
会话连接。会议上的(假Session.CLIENT_ACKNOWLEDGE);
/ /创建目标,创建一个主题,你也可以创建一个队列的
目的地的的的目标session.createQueue(“1230”); ...... /> / /创建一个消息消费者
MessageProducer:制造商的目标:= session.createProducer();
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串JMSCorrelationID “'S +”1001“+”'“;
”的MessageConsumer:消费者session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001“);
producer.send(TM);
TextMessage的(真实)
TM1 =(TextMessage的介质)consumer.receive(1000);
(null! ,TM1)
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
突破;
consumer.close();
producer.close();
session.close(); BR />连接关闭();
参考技术B 公共静态无效的主要(字串[] args)抛出JMSException
字符串URL =“TCP :/ /本地主机:61616”;
ActiveMQConnectionFactory的connectionFactory =新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的的conf目录credentials.properties文件,也可以配置在activemq.xml
connectionFactory.setUserName的(“系统”);
的connectionFactory setPassword(“管理人”);
/ /创建一个连接
接口连接connectionFactory.createConnection();
connection.start();
届会议上连接。的的创建会话(假Session.CLIENT_ACKNOWLEDGE);
/ /创建一个目标是创建一个主题,也可以创建一个队列
目的地目的地session.createQueue(“1230”);
/ /创建一个消息消费者
MessageProducer上:= session.createProducer(目标)的生产商;
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串选择JMSCorrelationID =“的+ “1001”+“'”;
的MessageConsumer消费session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(“12345111”);
tm.setJMSCorrelationID(“ 1001“);
producer.send(TM);
而(真)
TextMessage的TM1 =(TextMessage中)consumer.receive(1000);
(null! = TM1)
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
其他
打破;
consumer.close();
producer.close();
session.close();
连接。关闭();
本回答被提问者和网友采纳 参考技术C 公共静态无效的主要(字串[] args)抛出那么JMSException
字符串URL =“TCP :/ /本地主机:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的conf目录credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName“(”系统“);
”的connectionFactory setPassword( “经理人”);
/ /创建一个连接的
接口连接connectionFactory.createConnection();
connection.start的()
会话连接。创建会议上的(假Session.CLIENT_ACKNOWLEDGE);
/ /创建目标,创建一个主题,你也可以创建一个队列的
目的地的的的目标session.createQueue(“1230”); ...... /> / /创建一个消息消费者
MessageProducer:制造商的目标:= session.createProducer();
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串JMSCorrelationID “'S +”1001“+”'“;
”的MessageConsumer:消费者session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001“);
producer.send(TM);
TextMessage的(真实)
TM1 =(TextMessage的介质)consumer.receive(1000);
(null! ,TM1)
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
突破;
consumer.close();
producer.close();
session.close(); BR />连接关闭();
两台华为交换机之间怎么做端口隔离,实现他们之间的任何端口都不能通讯?
公司华为交换机要做端口隔离设置。我在交换机上24个口都做了端口隔离,命令式
port-isolate enable
可是我在连接了两台交换机后,连接到不同交换机之间的两台电脑还是能够正常通讯,请问怎么设置才能做到,不同交换机之间的端口也不能通讯啊!
端口隔离可以实现在同一台交换机上对端口进行逻辑隔离,可以在同一个vlan内实现隔离。端口隔离分为L2层隔离和L3层隔离,其中在L2层的端口隔离中还可以有端口单向隔离技术用于某些特殊场景。
将pc1与pc2的端口加入同一个隔离组就实现了端口的隔离,默认是L2层隔离(无网关SVI接口),L3层隔离需要修改端口隔离模式,在全局模式使用命令:
[Huawei]port-isolate mode ?
all All
l2 L2 only
上面命令修改端口隔离模式,L2或者all(L2+L3全部隔离)
如果只需要实现L2层隔离,配置如下:
interface GigabitEthernet0/0/1
port-isolate enable group 1
#
interface GigabitEthernet0/0/2
port-isolate enable group 1
#
在SVI接口下必须使用三层隔离才能将端口隔离开,就需要使用[Huawei]port-isolate mode all 来修改端口隔离模式为L2+L3层。
扩展资料
端口隔离的方法和应用场景:
配置接口单向隔离:接入同一个设备不同接口的多台主机,若某台主机存在安全隐患,往其他主机发送大量的广播报文,可以通过配置接口间的单向隔离来实现其他主机对该主机报文的隔离。
同一端口隔离组的接口之间互相隔离,不同端口隔离组的接口之间不隔离。为了实现不同端口隔离组的接口之间的隔离,可以通过配置接口之间的单向隔离来实现。
配置端口隔离组:
为了实现接口之间的二层隔离,可以将不同的接口加入不同的VLAN,但这样会浪费有限的VLAN资源。采用端口隔离特性,可以实现同一VLAN内接口之间的隔离。
用户只需要将接口加入到隔离组中,就可以实现隔离组内接口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。
参考技术A 华为3000系列:比如:将端口E0/1、E0/2、E0/3加入VLAN
[Quidway-vlan10]port ethernet 0/1 to ethernet 0/3
1.进入E0/1端口视图
[Quidway-vlan10] interface ethernet 0/1
2.配置端口E0/1与E0/2和E0/3隔离
[Quidway-Ethernet0/1] am isolate ethernet 0/2 to ethernet 0/3
3.进入E0/2端口视图
[Quidway-Ethernet0/1] interface ethernet 0/2
4.配置端口E0/2和E0/3隔离
[Quidway-Ethernet0/2] am isolate ethernet 0/3
1.此功能只能用于隔离同一VLAN相同IP网段用户;
2.对于两个端口之间的隔离,只需要在其中一个端口下进行配置即可。
3600系列
# 将以太网端口Ethernet1/0/2、Ethernet1/0/3、Ethernet1/0/4加入隔离组。
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] interface ethernet1/0/2
[H3C-Ethernet1/0/2] port isolate
[H3C-Ethernet1/0/2] quit
[H3C] interface ethernet1/0/3
[H3C-Ethernet1/0/3] port isolate
[H3C-Ethernet1/0/3] quit
[H3C] interface ethernet1/0/4
[H3C-Ethernet1/0/4] port isolate
[H3C-Ethernet1/0/4] quit
[H3C]
# 显示隔离组中的端口信息。
<H3C> display isolate port
Isolated port(s) on UNIT 1:
Ethernet1/0/2, Ethernet1/0/3, Ethernet1/0/4
9000系列
软件版本:S9500交换机1250之后的版本
硬件版本:S9500交换机业务单板
1)创建VLAN 100,将端口E4/1/1,E4/1/2,E4/1/3加入VLAN 100中
[H3C]vlan 100
[H3C-vlan100]port e4/1/1 to e4/1/3
2)创建隔离组1
[H3C]port-isolate group 1
3)将端口E4/1/1,E4/1/2,E4/1/3加入隔离组中
[H3C]interface e4/1/1
[H3C-Ethernet4/1/1]port-isolate group 1
[[H3C-Ethernet4/1/1]]interface e4/1/2
[H3C-Ethernet4/1/2]port-isolate group 1
[H3C-Ethernet4/1/2]interface e4/1/3
[H3C-Ethernet4/1/3]port-isolate group 1
4)将端口G3/1/1配置成trunk,并允许vlan100通过,同时将其配置成隔离组1的上行端口
[H3C]interface g3/1/1
[H3C-GigabitEthernet3/1/1]port link-type trunk
[H3C-GigabitEthernet3/1/1]port trunk permit vlan 100
[H3C-GigabitEthernet3/1/1]port-isolate uplink-port group 1
四、配置关键点:
1)隔离组内的端口只能与上行端口进行通信,隔离组的上行端口所在的VLAN必须包括所有该隔离组内端口;
2)只有在创建隔离组后才能配置该隔离组的上行端口和该隔离组的隔离端口;
3)隔离组的隔离端口和上行端口只能配置在以太网口和RPR端口;
4)一个端口只能加入一个隔离组;
5)一个隔离组的上行端口只能有一个,可以是聚合组,但不能是静态聚合组或动态聚合组;
6)一个端口可以既是隔离端口也可以是上行端口,但不能是同一个隔离组的隔离端口和上行端口;
7)如果隔离端口是聚合组的成员,聚合组的其他端口也将加入隔离组 参考技术B 华为5700默认vlan间能互访而且不能取消(思科的二层三层相互独立)。port-isolate enable默认是二层隔离三层互通,通过命令port-isolate mode all实现端口之间三层也隔离。只是为了端口隔离而去做ACL太浪费CPU了,配置起来也麻烦。 参考技术C 你的问题应该已经解决了,在这里我想告诉你的是,端口隔离技术对于交换机来说之后本地意义,即只有在同一个交换机上的受保护端口时间不能互相通信,而位于不同交换机上的两个受保护端口之间是不会相互隔离的。
参考资料:CCNP SWITCH(642-813)86页
参考技术D 你的交换机都接在路由上么?按你的说法应该不会是两台交换机之间做了级联的。如果是上层都接在一台路由上的话,而你对两台设备VLAN没做任何改动那么肯定是通的,如果是我说的这种情况,需要在路由里面做改动。你那边是怎么组网的。。?48个VLAN神马的完全是扯淡~追问
公司有个三层交换机华为5700.三层上分5个valn,vlan之间不能互相访问,此外下面的四台二层交换机之间也不能互相访问。好像听说需要在5700上配置acl控制列表。请教下下面的四个交换之间的端口隔离室在每个端口里设置的吧?vlan之间的隔离是在5700的acl控制列表里座的吧?咋做能说下不?
追答因为具体的配置不知道,所以我还是只能按我的理解分析下。
二层的交换机带VLAN上到三层交换机的不同端口,如果三层交换机没做任何设置,那么会因为三层交换机的各个端口都在VLAN1上所以所有四台二层交换机是通的~这个和你在二层交换机上做没做端口隔离应该没关系。如果说在三层交换机上做了设置,那么就如你所说已经设置了5个VLAN,如果每个二层交换机上来的每个端口被分在不同的VLAN下的话,不做三层接口(就是对vlan设置IP)的情况下应该也是所有二层交换机是不通的。在我的印象中ACL表一般是用来对外的,也就是说一般配置ACL表示控制外部对本设备访问的IP限制(一般是远程连接控制),所以你看看三层交换机上是不是做了静态路由了,如果设置的三层接口对应的IP之间都做了静态路由导致所有设置的IP之间都是路由可达的话那么所有二层的交换机肯定是通的。
你用display current-configration 看看三层交换机的配置列表,最好能抓下来让我看看。
我也是在学习中,所以有什么可以讨论讨论。不对的地方请指正~
嗯,三层的其实没有怎么设置,只是设置了5个vlan。我想请教,我的vlan 10想连接二层交换机。端口1 和2设置在了vlan 10里,这两个口需要什么设置么?领导想给vlan10 设置一个ip地址,然后让接在vlan10上的二层交换机里的pc都获取这个段内的ip地址。帮帮我啊 呵呵
追答我看网上的资料,主要是要做三层交换机上的ACL列表控制一定范围的IP访问,对VLAN10做三层的接口,IP自己设置一个,并作为网关IP。你就查查怎么让交换机端口绑定IP地址段,貌似东西有点多,我也在看,但是所学有限啊。。。帮不上忙。。。不好意思。。。。
本回答被提问者采纳以上是关于ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。的主要内容,如果未能解决你的问题,请参考以下文章