Как узнать / изменить номер порта PHP Java Bridge

У меня 2 машины:

  1. Сначала с PHP + Apache для WebApp (10.1.1.33)
  2. Второй со Glassfish для бэкэнда и отчетности и т. Д. (10.1.1.34)

Первая машина (Apache) может получить доступ к файлу Java.inc со второй машины (Glassfish)

http://10.1.1.34:8080/projectname/java/Java.inc

Есть настройка брандмауэра, которая позволяет 8080 доступ из Apache(10.1.1.33) машина для Glassfish (10.1.1.34) машина. Я думаю поэтому Java.inc доступно, однако PHP-Java-Bridge резервирует отдельный порт для остальной части связи. Мое приложение не работает до тех пор, пока я не добавлю этот конкретный зарезервированный порт.
В качестве обходного пути я добавил правило, разрешающее любой порт с компьютера Apache.

allow 0-65535 from 10.1.1.33

Что не кажется хорошей идеей, так как я должен закрыть все порты и разрешить только те порты, которые действительно требуются.

Конфигурация на стороне Java
Следующие файлы jar копируются в папку lib веб-проекта Java.

  1. JavaBridge.jar
  2. PHP-script.jar
  3. PHP-servlet.jar

Вот часть web.xml веб-проекта для настройки моста

<listener>
<listener-class>php.java.servlet.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>PhpJavaServlet</servlet-name>
<servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PhpJavaServlet</servlet-name>
<url-pattern>*.phpjavabridge</url-pattern>
</servlet-mapping>

Вопрос:

  1. Есть ли фиксированный порт, зарезервированный php-java-bridge?
  2. Можем ли мы узнать, какой порт зарезервирован?
  3. Можем ли мы указать номер выбранного порта?

0

Решение

В документации говорится, что вам нужно настроить это самостоятельно


  1. Скопируйте JavaBridge.jar в текущий каталог.

  2. Добавьте JavaBridge.jar в ваше приложение Java. Отредактируйте манифест MANIFEST.MF следующим образом:

Основной класс: HelloWorld
Путь к классу: JavaBridge.jar

  1. Откройте коммуникационный порт для PHP. Отредактируйте HelloWorld.java следующим образом:
import javax.swing.JOptionPane;

public class HelloWorld {
public static final String JAVABRIDGE_PORT="8087";
static final php.java.bridge.JavaBridgeRunner runner =
php.java.bridge.JavaBridgeRunner.getInstance(JAVABRIDGE_PORT);

public static void main(String args[]) throws Exception {
runner.waitFor();
System.exit(0);
}
public void hello(String args[]) throws Exception {
JOptionPane.showMessageDialog(null, "hello " + args[0]);
}
}
  1. Перекомпилируйте ваше Java-приложение.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]