2017-05-06 114 views
0

我刚开始工作的Java(非web开发背景),并下载名为TicketMonster样本Java EE应用程序,由JBoss提供: https://github.com/jboss-developer/ticket-monster无法运行一个Java EE程序

我下载的项目并将其配置为MySQL数据库。我有我的数据库运行起来后,我建立了这样的项目:

mvn clean package jboss:deploy -Pmysql 

构建是成功的,我部署票证monster.war文件到我的服务器Wildfly。但是,其余的api(JAX-RS)都没有工作。

如果我申请一个REST的API,例如“让场馆”我收到此异常: http://textuploader.com/drip8

我使用PostgreSQL数据库来代替,但具有相同的结果尝试。数据库日志不显示错误。

任何具有Java EE经验的人都可以指出我在这里发生了什么?我在这里疯狂,所以所有的帮助非常感谢。

我wildfly standalone.xml配置:

<extensions> 
    <extension module="org.jboss.as.clustering.infinispan"/> 
    <extension module="org.jboss.as.connector"/> 
    <extension module="org.jboss.as.deployment-scanner"/> 
    <extension module="org.jboss.as.ee"/> 
    <extension module="org.jboss.as.ejb3"/> 
    <extension module="org.jboss.as.jaxrs"/> 
    <extension module="org.jboss.as.jdr"/> 
    <extension module="org.jboss.as.jmx"/> 
    <extension module="org.jboss.as.jpa"/> 
    <extension module="org.jboss.as.jsf"/> 
    <extension module="org.jboss.as.logging"/> 
    <extension module="org.jboss.as.mail"/> 
    <extension module="org.jboss.as.naming"/> 
    <extension module="org.jboss.as.pojo"/> 
    <extension module="org.jboss.as.remoting"/> 
    <extension module="org.jboss.as.sar"/> 
    <extension module="org.jboss.as.security"/> 
    <extension module="org.jboss.as.transactions"/> 
    <extension module="org.jboss.as.webservices"/> 
    <extension module="org.jboss.as.weld"/> 
    <extension module="org.wildfly.extension.batch.jberet"/> 
    <extension module="org.wildfly.extension.bean-validation"/> 
    <extension module="org.wildfly.extension.io"/> 
    <extension module="org.wildfly.extension.request-controller"/> 
    <extension module="org.wildfly.extension.security.manager"/> 
    <extension module="org.wildfly.extension.undertow"/> 
</extensions> 


<management> 
    <security-realms> 
     <security-realm name="ManagementRealm"> 
      <authentication> 
       <local default-user="$local" skip-group-loading="true"/> 
       <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/> 
      </authentication> 
      <authorization map-groups-to-roles="false"> 
       <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/> 
      </authorization> 
     </security-realm> 
     <security-realm name="ApplicationRealm"> 
      <authentication> 
       <local default-user="$local" allowed-users="*" skip-group-loading="true"/> 
       <properties path="application-users.properties" relative-to="jboss.server.config.dir"/> 
      </authentication> 
      <authorization> 
       <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/> 
      </authorization> 
     </security-realm> 
    </security-realms> 
    <audit-log> 
     <formatters> 
      <json-formatter name="json-formatter"/> 
     </formatters> 
     <handlers> 
      <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/> 
     </handlers> 
     <logger log-boot="true" log-read-only="false" enabled="false"> 
      <handlers> 
       <handler name="file"/> 
      </handlers> 
     </logger> 
    </audit-log> 
    <management-interfaces> 
     <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true"> 
      <socket-binding http="management-http"/> 
     </http-interface> 
    </management-interfaces> 
    <access-control provider="simple"> 
     <role-mapping> 
      <role name="SuperUser"> 
       <include> 
        <user name="$local"/> 
       </include> 
      </role> 
     </role-mapping> 
    </access-control> 
</management> 

<profile> 
    <subsystem xmlns="urn:jboss:domain:logging:3.0"> 
     <console-handler name="CONSOLE"> 
      <level name="INFO"/> 
      <formatter> 
       <named-formatter name="COLOR-PATTERN"/> 
      </formatter> 
     </console-handler> 
     <periodic-rotating-file-handler name="FILE" autoflush="true"> 
      <formatter> 
       <named-formatter name="PATTERN"/> 
      </formatter> 
      <file relative-to="jboss.server.log.dir" path="server.log"/> 
      <suffix value=".yyyy-MM-dd"/> 
      <append value="true"/> 
     </periodic-rotating-file-handler> 
     <logger category="com.arjuna"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="org.jboss.as.config"> 
      <level name="DEBUG"/> 
     </logger> 
     <logger category="sun.rmi"> 
      <level name="WARN"/> 
     </logger> 
     <root-logger> 
      <level name="INFO"/> 
      <handlers> 
       <handler name="CONSOLE"/> 
       <handler name="FILE"/> 
      </handlers> 
     </root-logger> 
     <formatter name="PATTERN"> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> 
     </formatter> 
     <formatter name="COLOR-PATTERN"> 
      <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> 
     </formatter> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:batch-jberet:1.0"> 
     <default-job-repository name="in-memory"/> 
     <default-thread-pool name="batch"/> 
     <job-repository name="in-memory"> 
      <in-memory/> 
     </job-repository> 
     <thread-pool name="batch"> 
      <max-threads count="10"/> 
      <keepalive-time time="30" unit="seconds"/> 
     </thread-pool> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:datasources:4.0"> 
     <datasources> 
      <datasource jndi-name="java:jboss/datasources/TicketMonsterMySQLDS" pool-name="MySQLDS" enabled="true"> 
       <connection-url>jdbc:mysql://xxxx:3306/ticketmonster?useSSL=false</connection-url> 
       <driver>com.mysql</driver> 
       <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> 
       <pool> 
        <min-pool-size>10</min-pool-size> 
        <max-pool-size>100</max-pool-size> 
        <prefill>true</prefill> 
       </pool> 
       <security> 
        <user-name>test</user-name> 
        <password>test</password> 
       </security> 
       <statement> 
        <prepared-statement-cache-size>32</prepared-statement-cache-size> 
        <share-prepared-statements>true</share-prepared-statements> 
       </statement> 
      </datasource> 
      <drivers> 
       <driver name="com.mysql" module="com.mysql"> 
        <driver-class>com.mysql.jdbc.Driver</driver-class> 
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> 
       </driver> 
      </drivers> 
     </datasources> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0"> 
     <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" auto-deploy-exploded="true" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:ee:4.0"> 
     <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> 
     <concurrent> 
      <context-services> 
       <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/> 
      </context-services> 
      <managed-thread-factories> 
       <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/> 
      </managed-thread-factories> 
      <managed-executor-services> 
       <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/> 
      </managed-executor-services> 
      <managed-scheduled-executor-services> 
       <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/> 
      </managed-scheduled-executor-services> 
     </concurrent> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:ejb3:4.0"> 
     <session-bean> 
      <stateless> 
       <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/> 
      </stateless> 
      <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/> 
      <singleton default-access-timeout="5000"/> 
     </session-bean> 
     <pools> 
      <bean-instance-pools> 
       <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> 
       <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> 
      </bean-instance-pools> 
     </pools> 
     <caches> 
      <cache name="simple"/> 
      <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/> 
     </caches> 
     <passivation-stores> 
      <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/> 
     </passivation-stores> 
     <async thread-pool-name="default"/> 
     <timer-service thread-pool-name="default" default-data-store="default-file-store"> 
      <data-stores> 
       <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/> 
      </data-stores> 
     </timer-service> 
     <remote connector-ref="http-remoting-connector" thread-pool-name="default"/> 
     <thread-pools> 
      <thread-pool name="default"> 
       <max-threads count="10"/> 
       <keepalive-time time="100" unit="milliseconds"/> 
      </thread-pool> 
     </thread-pools> 
     <default-security-domain value="other"/> 
     <default-missing-method-permissions-deny-access value="true"/> 
     <log-system-exceptions value="true"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:io:1.1"> 
     <worker name="default"/> 
     <buffer-pool name="default"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:infinispan:4.0"> 
     <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server"> 
      <local-cache name="default"> 
       <transaction mode="BATCH"/> 
      </local-cache> 
     </cache-container> 
     <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan"> 
      <local-cache name="passivation"> 
       <locking isolation="REPEATABLE_READ"/> 
       <transaction mode="BATCH"/> 
       <file-store passivation="true" purge="false"/> 
      </local-cache> 
      <local-cache name="persistent"> 
       <locking isolation="REPEATABLE_READ"/> 
       <transaction mode="BATCH"/> 
       <file-store passivation="false" purge="false"/> 
      </local-cache> 
     </cache-container> 
     <cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan"> 
      <local-cache name="passivation"> 
       <locking isolation="REPEATABLE_READ"/> 
       <transaction mode="BATCH"/> 
       <file-store passivation="true" purge="false"/> 
      </local-cache> 
      <local-cache name="persistent"> 
       <locking isolation="REPEATABLE_READ"/> 
       <transaction mode="BATCH"/> 
       <file-store passivation="false" purge="false"/> 
      </local-cache> 
     </cache-container> 
     <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan"> 
      <local-cache name="entity"> 
       <transaction mode="NON_XA"/> 
       <eviction strategy="LRU" max-entries="10000"/> 
       <expiration max-idle="100000"/> 
      </local-cache> 
      <local-cache name="local-query"> 
       <eviction strategy="LRU" max-entries="10000"/> 
       <expiration max-idle="100000"/> 
      </local-cache> 
      <local-cache name="timestamps"/> 
     </cache-container> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:jca:4.0"> 
     <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> 
     <bean-validation enabled="true"/> 
     <default-workmanager> 
      <short-running-threads> 
       <core-threads count="50"/> 
       <queue-length count="50"/> 
       <max-threads count="50"/> 
       <keepalive-time time="10" unit="seconds"/> 
      </short-running-threads> 
      <long-running-threads> 
       <core-threads count="50"/> 
       <queue-length count="50"/> 
       <max-threads count="50"/> 
       <keepalive-time time="10" unit="seconds"/> 
      </long-running-threads> 
     </default-workmanager> 
     <cached-connection-manager/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:jdr:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:jmx:1.3"> 
     <expose-resolved-model/> 
     <expose-expression-model/> 
     <remoting-connector/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:jpa:1.1"> 
     <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:jsf:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:mail:2.0"> 
     <mail-session name="default" jndi-name="java:jboss/mail/Default"> 
      <smtp-server outbound-socket-binding-ref="mail-smtp"/> 
     </mail-session> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:naming:2.0"> 
     <remote-naming/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:pojo:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:remoting:3.0"> 
     <endpoint/> 
     <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/> 
    <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:sar:1.0"/> 
    <subsystem xmlns="urn:jboss:domain:security-manager:1.0"> 
     <deployment-permissions> 
      <maximum-set> 
       <permission class="java.security.AllPermission"/> 
      </maximum-set> 
     </deployment-permissions> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:security:1.2"> 
     <security-domains> 
      <security-domain name="other" cache-type="default"> 
       <authentication> 
        <login-module code="Remoting" flag="optional"> 
         <module-option name="password-stacking" value="useFirstPass"/> 
        </login-module> 
        <login-module code="RealmDirect" flag="required"> 
         <module-option name="password-stacking" value="useFirstPass"/> 
        </login-module> 
       </authentication> 
      </security-domain> 
      <security-domain name="jboss-web-policy" cache-type="default"> 
       <authorization> 
        <policy-module code="Delegating" flag="required"/> 
       </authorization> 
      </security-domain> 
      <security-domain name="jboss-ejb-policy" cache-type="default"> 
       <authorization> 
        <policy-module code="Delegating" flag="required"/> 
       </authorization> 
      </security-domain> 
      <security-domain name="jaspitest" cache-type="default"> 
       <authentication-jaspi> 
        <login-module-stack name="dummy"> 
         <login-module code="Dummy" flag="optional"/> 
        </login-module-stack> 
        <auth-module code="Dummy"/> 
       </authentication-jaspi> 
      </security-domain> 
     </security-domains> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:transactions:3.0"> 
     <core-environment> 
      <process-id> 
       <uuid/> 
      </process-id> 
     </core-environment> 
     <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:undertow:3.1"> 
     <buffer-cache name="default"/> 
     <server name="default-server"> 
      <http-listener name="default" socket-binding="http" redirect-socket="https"/> 
      <host name="default-host" alias="localhost"> 
       <location name="/" handler="welcome-content"/> 
       <filter-ref name="server-header"/> 
       <filter-ref name="x-powered-by-header"/> 
      </host> 
     </server> 
     <servlet-container name="default"> 
      <jsp-config/> 
      <websockets/> 
     </servlet-container> 
     <handlers> 
      <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/> 
     </handlers> 
     <filters> 
      <response-header name="server-header" header-name="Server" header-value="JBoss-EAP/7"/> 
      <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/> 
     </filters> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:webservices:2.0"> 
     <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host> 
     <endpoint-config name="Standard-Endpoint-Config"/> 
     <endpoint-config name="Recording-Endpoint-Config"> 
      <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM"> 
       <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/> 
      </pre-handler-chain> 
     </endpoint-config> 
     <client-config name="Standard-Client-Config"/> 
    </subsystem> 
    <subsystem xmlns="urn:jboss:domain:weld:3.0"/> 
</profile> 

<interfaces> 
    <interface name="management"> 
     <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> 
    </interface> 
    <interface name="public"> 
     <inet-address value="${jboss.bind.address:127.0.0.1}"/> 
    </interface> 
</interfaces> 

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> 
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> 
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> 
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> 
    <socket-binding name="http" port="${jboss.http.port:8080}"/> 
    <socket-binding name="https" port="${jboss.https.port:8443}"/> 
    <socket-binding name="txn-recovery-environment" port="4712"/> 
    <socket-binding name="txn-status-manager" port="4713"/> 
    <outbound-socket-binding name="mail-smtp"> 
     <remote-destination host="localhost" port="25"/> 
    </outbound-socket-binding> 
</socket-binding-group> 

<deployments> 
    <deployment name="ticket-monster.war" runtime-name="ticket-monster.war"> 
     <content sha1="6dbdc9dd48b7e0cb8f0afaf829ea0c8f5618942d"/> 
    </deployment> 
</deployments> 

回答

0

似乎是一个双向的关联问题。请参阅this,this,thisthis帖子以了解如何解决它。

看起来像你下载的示例是一个正在进行的工作,因为它是来自jboss/ticket-monster(而不是jboss-DEVELOPER)的一个分支。如果您想尝试此特定示例,请尝试从https://github.com/jboss/ticket-monster获取它。

否则,Oracle有一个广泛的Java EE tutorial。 Netbeans有详细的step-by-step one

+0

谢谢。我觉得很奇怪,他们会发布一个非工作的演示应用程序,并且没有发布问题/错误? –

+0

似乎你使用了一个“测试版”版本。我补充了我的答案。 –

+0

谢谢,我试过非叉分支,我仍然得到JsonMappingException ..有些东西真的在这里。我不能把我的手指放在这里做错了什么。 –