RabbitMQ Java Client - Java Dependencies (standard libraries?)

徘徊边缘 提交于 2019-12-11 22:26:39

问题


I need to integrate RabbitMQ with another system that runs on Java. So I went to the official website, downloaded the package and copied it to my classpath. Then I followed the basic tutorial, and I verified that importing external libraries work.

The problem I face now is probably very easy to solve for a Java developer: which standard Java libraries do I have to import to make the following code work?

import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;
...
ConnectionFactory factory = new ConnectionFactory();

without running into import errors like this:

Line 51, Column 18: No applicable constructor/method found for actual parameters "java.lang.String"; 
candidates are: "void com.rabbitmq.client.ConnectionFactory.setPort(int)"

I tried things like these, but I have no idea how that works in Java, so I would like to have some clarification. For example, when should I use an asterisk?

import java.lang.String;
import java.lang.String.*;

By the way, the system I am trying to integrate RabbitMQ with is Pentaho Data Integration (a.k.a. Kettle).


回答1:


First, get rid of your java.lang imports.

Second, call setPort with an int and not a String as described in the API.




回答2:


Just including the amqp-client-${version} jar in classpath should be sufficient. Astreix is used to import all classes from a package. Class names in java begins with a caps while package names are in small case. So, java.lang is a package and String is a class. By default all classes of java.lang package are imported in a Java program and you do not need to write import java.lang.String; or import java.lang.*;



来源:https://stackoverflow.com/questions/19406864/rabbitmq-java-client-java-dependencies-standard-libraries

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!