Apache Конечная точка REST Camel работает с netty-http, но не с сервлетом - PullRequest
0 голосов
/ 07 апреля 2020

Во-первых, я прошу прощения за неправильные условия, которые я использую. Я не нашел достаточно высокого уровня этого материала, чтобы быть уверенным, что я говорю об этом правильно.

Моя цель - представить верблюжий маршрут как службу REST, чтобы я мог использовать Почтальон для запуска маршрут. Я был успешен в этом с конфигурацией верблюда ниже. Однако, когда я изменяю его с netty на servlet для остального компонента конфигурации, я не могу запустить маршрут.

Этот работает.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:camel="http://camel.apache.org/schema/spring"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <camelContext id="camelContext-41c04505-a631-4fa5-a721-83fd000081fa"
        trace="false" xmlns="http://camel.apache.org/schema/spring">
        <endpoint id="MyNetty" uri="netty4-http:http:0.0.0.0:9091/services"/>
        <restConfiguration bindingMode="auto" component="netty4-http" port="9091">
            <dataFormatProperty key="prettyPrint" value="true"/>
        </restConfiguration>
        <route id="r1">
            <from id="exposedRESTPostOrder" uri="rest:post:/order"/>
            <transform id="_transform1">
                <simple>MyHeader ${bodyAs(String)} MyFooter</simple>
            </transform>
        </route>
    </camelContext>
</beans>

Однако, если я изменю его к этому и добавьте раздел. xml ниже, он запускается, но я не могу запустить маршрут.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:camel="http://camel.apache.org/schema/spring"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
    <camelContext id="camelContext-af3fc749-ed21-4087-8587-f50894cbf6a1"
        trace="false" xmlns="http://camel.apache.org/schema/spring">
        <endpoint id="MyServlet" uri="servlet:/"/>
        <restConfiguration bindingMode="auto" component="servlet"
            host="0.0.0.0" port="8079">
            <dataFormatProperty key="prettyPrint" value="true"/>
        </restConfiguration>
        <route id="r1">
            <from id="exposedRESTPostOrder" uri="rest:post:/order"/>
            <transform id="_transform1">
                <simple>MyHeader ${bodyAs(String)} MyFooter</simple>
            </transform>
        </route>
    </camelContext>
</beans>

, и я добавил это в свою сеть. xml.

<servlet>
  <servlet-name>MyServlet</servlet-name>
  <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

Tomcat работает на порте 8079. Я безуспешно пробовал различные комбинации конфигурации конечной точки и конфигурации rest. Все начинается, но я просто получаю 404, когда я выдаю свой POST и ничего в журнале Tomcat. URL-адрес POST, который работает с netty: http://localhost: 9091 / заказ

URL-адреса POST, которые я пробовал с сервлетом,

Все получают 404.

Что я делаю не так?

Вот мой вывод консоли tomcat.

Apr 07, 2020 6:13:49 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:EIHub-hawtio-offline-4.1.0' did not find a matching property.
Apr 07, 2020 6:13:49 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ServletBasedRestExample' did not find a matching property.
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.5.28
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Feb 6 2018 23:10:25 UTC
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.5.28.0
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_241\jre
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_241-b07
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\crrickey\OneDrive - Rockwell Automation, Inc\eclipse-projects\ftpc\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Rockwell\EIHub4.1.100659\tomcat
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:51962
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\crrickey\OneDrive - Rockwell Automation, Inc\eclipse-projects\ftpc\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Rockwell\EIHub4.1.100659\tomcat
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\crrickey\OneDrive - Rockwell Automation, Inc\eclipse-projects\ftpc\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Rockwell\EIHub4.1.100659\tomcat\endorsed
Apr 07, 2020 6:13:49 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Apr 07, 2020 6:13:49 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_241\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.8.0_241\jre\bin;C:/Program Files/Java/jre1.8.0_241/bin/server;C:/Program Files/Java/jre1.8.0_241/bin;C:/Program Files/Java/jre1.8.0_241/lib/amd64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\1E\Client\Extensibility\NomadBranch;C:\Program Files (x86)\Sennheiser\SoftphoneSDK\;C:\Program Files (x86)\Kensington\TrackballWorks;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Users\crrickey\AppData\Local\Microsoft\WindowsApps;;C:\Rockwell\EIHub4.1.100659\IDE\EIHub_eclipse-platform-4.6-win32-x86_64\eclipse;;.]
Apr 07, 2020 6:13:49 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8079"]
Apr 07, 2020 6:13:50 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Apr 07, 2020 6:13:50 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Apr 07, 2020 6:13:50 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Apr 07, 2020 6:13:50 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1008 ms
Apr 07, 2020 6:13:50 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Apr 07, 2020 6:13:50 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.28
Apr 07, 2020 6:13:52 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
INFO  | localhost-startStop-1 | Initialising hawtio services
INFO  | localhost-startStop-1 | Configuration will be discovered via JNDI
INFO  | localhost-startStop-1 | Welcome to hawtio 1.5.5 : http://hawt.io/ : Don't cha wish your console was hawt like me? ;-)
INFO  | localhost-startStop-1 | Using file upload directory: 
Apr 07, 2020 6:13:52 AM org.apache.catalina.core.ApplicationContext log
INFO: Loading Blueprint contexts [file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/classes/OSGI-INF/blueprint/blueprint.xml, jar:file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/lib/hawtio-aether-1.5.5.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/lib/hawtio-core-1.5.5.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/lib/hawtio-git-1.5.5.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/lib/hawtio-json-schema-mbean-1.5.5.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/C:/Users/crrickey/OneDrive%20-%20Rockwell%20Automation,%20Inc/eclipse-projects/ftpc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/EIHub-hawtio-offline-4.1.0/WEB-INF/lib/hawtio-local-jvm-mbean-1.5.5.jar!/OSGI-INF/blueprint/blueprint.xml]
INFO  | localhost-startStop-1 | Connected to Log4j appender to trap logs with hawtio log plugin
INFO  | localhost-startStop-1 | hawtio using config directory: C:\Users\crrickey\.hawtio\config
INFO  | localhost-startStop-1 | git pull from remote config repo on startup is disabled
INFO  | localhost-startStop-1 | Starting hawtio authentication filter, JAAS authentication disabled
INFO  | localhost-startStop-1 | Initial proxy whitelist: [localhost, 127.0.0.1, 192.168.241.1, 7TMLP13.ra-int.com, 192.168.44.1, 192.168.190.123]
INFO  | localhost-startStop-1 | Jolokia has not found any overriden configuration property passed at launch time; Default configuration values will be used.
INFO  | localhost-startStop-1 | Using MBean [hawtio:type=security,area=jmx,rank=0,name=HawtioDummyJMXSecurity] for role based access control
Apr 07, 2020 6:14:12 AM org.apache.catalina.core.ApplicationContext log
INFO: jolokia-agent: Using restrictor io.hawt.web.RBACRestrictor
Apr 07, 2020 6:14:17 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 07, 2020 6:14:17 AM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Apr 07, 2020 6:14:17 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
[         localhost-startStop-1] DefaultTypeConverter           INFO  Type converters loaded (core: 192, classpath: 41)
INFO  2020-04-07 06:14:19,758 [localhost-startStop-1] org.apache.camel.impl.converter.DefaultTypeConverter: Type converters loaded (core: 192, classpath: 41)
 [         localhost-startStop-1] SpringCamelContext             INFO  Apache Camel 2.20.2 (CamelContext: camelContext-af3fc749-ed21-4087-8587-f50894cbf6a1) is starting
INFO  2020-04-07 06:14:19,808 [localhost-startStop-1] org.apache.camel.spring.SpringCamelContext: Apache Camel 2.20.2 (CamelContext: camelContext-af3fc749-ed21-4087-8587-f50894cbf6a1) is starting
 [         localhost-startStop-1] ManagedManagementStrategy      INFO  JMX is enabled
INFO  2020-04-07 06:14:19,811 [localhost-startStop-1] org.apache.camel.management.ManagedManagementStrategy: JMX is enabled
 [         localhost-startStop-1] SpringCamelContext             INFO  StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
INFO  2020-04-07 06:14:20,086 [localhost-startStop-1] org.apache.camel.spring.SpringCamelContext: StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
 [         localhost-startStop-1] SpringCamelContext             INFO  Route: r1 started and consuming from: servlet:/order?httpMethodRestrict=POST
INFO  2020-04-07 06:14:20,172 [localhost-startStop-1] org.apache.camel.spring.SpringCamelContext: Route: r1 started and consuming from: servlet:/order?httpMethodRestrict=POST
 [         localhost-startStop-1] SpringCamelContext             INFO  Total 1 routes, of which 1 are started
INFO  2020-04-07 06:14:20,172 [localhost-startStop-1] org.apache.camel.spring.SpringCamelContext: Total 1 routes, of which 1 are started
 [         localhost-startStop-1] SpringCamelContext             INFO  Apache Camel 2.20.2 (CamelContext: camelContext-af3fc749-ed21-4087-8587-f50894cbf6a1) started in 0.365 seconds
INFO  2020-04-07 06:14:20,174 [localhost-startStop-1] org.apache.camel.spring.SpringCamelContext: Apache Camel 2.20.2 (CamelContext: camelContext-af3fc749-ed21-4087-8587-f50894cbf6a1) started in 0.365 seconds
 [         localhost-startStop-1] CamelHttpTransportServlet      INFO  Initialized CamelHttpTransportServlet[name=MyServlet, contextPath=/ServletBasedRestExample]
INFO  2020-04-07 06:14:20,183 [localhost-startStop-1] org.apache.camel.component.servlet.CamelHttpTransportServlet: Initialized CamelHttpTransportServlet[name=MyServlet, contextPath=/ServletBasedRestExample]
 Apr 07, 2020 6:14:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8079"]
Apr 07, 2020 6:14:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Apr 07, 2020 6:14:20 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 30112 ms
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...