Frage

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).

War es hilfreich?

Lösung

First, get rid of your java.lang imports.

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

Andere Tipps

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.*;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top