Ошибка привязки порта при запуске службы HL7 в Siddhi SDK с использованием плагина IntelliJ IDEA - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь разработать расширение Siddhi, используя плагин для IntelliJ. Когда я пытаюсь настроить источник "hl7" на любом порту, HL7Service, кажется, запускается дважды. Это не работает, поскольку сетевой порт может быть открыт только один раз.

Я проверил, что другой экземпляр Siddhi не запущен, и я пробовал много разных портов.

@App:name('HL7SiddhiApp')
@App:description('Description of the plan')
@source(type = 'hl7', port = "7777", hl7.encoding = "er7", @map(type = 'text'))
define stream hl7stream (message string);

@sink(type = 'log', @map(type = 'passThrough'))
define stream outStream (message string);

from hl7stream
select message
insert into outStream;
[ca.uhn.hl7v2.util.Home] : hapi.home is set to C:\Workspace\IdeaProjects\HelloSiddhi\HL7Siddhi\.
[ca.uhn.hl7v2.VersionLogger] : HAPI version is: 2.2
[ca.uhn.hl7v2.VersionLogger] : Default Structure libraries found for HL7 versions 2.2, 2.3, 2.4, 2.5, 2.5.1, 
[ca.uhn.hl7v2.conf.store.FileProfileStore] : Profile store directory doesn't exist: C:\Workspace\IdeaProjects\HelloSiddhi\HL7Siddhi\./profiles
[ca.uhn.hl7v2.concurrent.Service] : Starting service HL7 Server
[ca.uhn.hl7v2.app.HL7Service] : Starting ConnectionCleaner service
[ca.uhn.hl7v2.concurrent.Service] : Starting service ConnectionCleaner
[ca.uhn.hl7v2.app.SimpleServer] : Starting SimpleServer running on port 7777
[ca.uhn.hl7v2.concurrent.Service] : Thread ConnectionCleaner entering main loop
[ca.uhn.hl7v2.concurrent.Service] : Starting service Socket Acceptor
[ca.uhn.hl7v2.concurrent.Service] : Thread HL7 Server entering main loop
[ca.uhn.hl7v2.concurrent.Service] : Thread Socket Acceptor entering main loop
[ca.uhn.hl7v2.concurrent.Service] : Prepare to stop thread HL7 Server
INFO  [org.wso2.siddhi.sdk.launcher.LauncherUtils] - Event Input file is not provided or file is empty
[ca.uhn.hl7v2.concurrent.Service] : Starting service HL7 Server
[ca.uhn.hl7v2.app.HL7Service] : Starting ConnectionCleaner service
[ca.uhn.hl7v2.concurrent.Service] : Starting service ConnectionCleaner
[ca.uhn.hl7v2.app.SimpleServer] : Starting SimpleServer running on port 7777
[ca.uhn.hl7v2.concurrent.Service] : Starting service Socket Acceptor
[ca.uhn.hl7v2.concurrent.Service] : Thread HL7 Server entering main loop
[ca.uhn.hl7v2.concurrent.Service] : Thread ConnectionCleaner entering main loop
[ca.uhn.hl7v2.concurrent.Service] : Thread exiting main loop due to exception:
java.lang.RuntimeException: java.net.BindException: Address already in use: JVM_Bind
    at ca.uhn.hl7v2.app.AcceptorThread.afterStartup(AcceptorThread.java:106)
    at ca.uhn.hl7v2.concurrent.Service.run(Service.java:202)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

1 Ответ

0 голосов
/ 20 июня 2019

Можете ли вы попробовать следующую команду, чтобы проверить, какие порты используются на вашем локальном компьютере и какой процесс его использует.Попробуйте порт, которого нет в выходных данных.

sudo netstat -tulpn
  • t: tcp
  • u: udp
  • l: прослушиваемые порты
  • p: процесс n: сеть
...