Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JBoss上发布SpringWebApp的问题_Java_Spring_Spring Boot_Jboss - Fatal编程技术网

Java 在JBoss上发布SpringWebApp的问题

Java 在JBoss上发布SpringWebApp的问题,java,spring,spring-boot,jboss,Java,Spring,Spring Boot,Jboss,当我试图部署我的项目时,这会导致bean出现问题,我无法解决它,我附加了错误和生成错误的类。请帮我解决这个问题。 我先谢谢你 应用程序无法启动 说明: co.com.coomeva.golden.service.ws.main.GreetingController中的字段发送方需要一个类型为“co.com.coomeva.golden.service.ws.jms.DistributorSender”的bean,但找不到该bean。 注入点具有以下注释:-@org.springframewo

当我试图部署我的项目时,这会导致bean出现问题,我无法解决它,我附加了错误和生成错误的类。请帮我解决这个问题。 我先谢谢你


应用程序无法启动


说明:

co.com.coomeva.golden.service.ws.main.GreetingController中的字段发送方需要一个类型为“co.com.coomeva.golden.service.ws.jms.DistributorSender”的bean,但找不到该bean。 注入点具有以下注释:-@org.springframework.beans.factory.annotation.Autowired(required=true) 措施:考虑在配置中定义一个“co.com.coomeva.golden.service.ws.jms.DistributorSender”类型的bean。 22:41:15280错误[org.jboss.msc.service.fail](ServerService线程池--69)MSC000001:无法启动服务jboss.undertow.deployment.default server.default host./Golden:org.jboss.msc.service.StartException在服务jboss.undertow.deployment.default server.default host中。/Golden:java.lang.RuntimeException:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为的bean时出错“greetingController”:通过字段“sender”表示未满足的依赖关系;嵌套异常为org.springframework.beans.factory.NoSuchBean定义异常:没有类型为“co.com.coomeva.golden.service.ws.jms.DistributorSender”的合格bean可用:应至少有一个符合autowire候选条件的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)} 位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:84) 位于java.util.concurrent.Executors$RunnableAdapter.call(未知源) 位于java.util.concurrent.FutureTask.run(未知源) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源) 位于org.jboss.threads.JBossThread.run(JBossThread.java:320) 原因:java.lang.RuntimeException:org.springframework.beans.factory.unsatifiedDependencyException:创建名为“greetingController”的bean时出错:通过字段“sender”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.NoSuchBean定义异常:没有类型为“co.com.coomeva.golden.service.ws.jms.DistributorSender”的合格bean可用:应至少有一个符合autowire候选条件的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)} 位于io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:241) 位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:99) 位于org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81) ... 还有6个

package co.com.coomeva.golden.service.ws.main;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.boot.SpringApplication;
导入org.springframework.boot.autoconfigure.EnableAutoConfiguration;
导入org.springframework.boot.autoconfigure.springboot应用程序;
导入org.springframework.boot.builder.SpringApplicationBuilder;
导入org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
导入org.springframework.context.annotation.ComponentScan;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.http.HttpStatus;
导入org.springframework.web.bind.annotation.GetMapping;
导入org.springframework.web.bind.annotation.PathVariable;
导入org.springframework.web.bind.annotation.PostMapping;
导入org.springframework.web.bind.annotation.RequestBody;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RestController;
import co.com.coomeva.golden.service.ws.jms.*;
import co.com.coomeva.golden.service.ws.model.GoldenResponse;
@配置
@组件扫描
@启用自动配置
@SpringBootApplication(scanBasePackages={“co.com.coomeva.golden.service.ws.controllers”,“co.com.coomeva.golden.service.ws.jms.DistributorSender”})
公共类GoldenServiceApplication扩展了SpringBootServletInitializer{
公共静态void main(字符串[]args){
run(applicationClass,args);
}
@凌驾
受保护的SpringApplicationBuilder配置(SpringApplicationBuilder应用程序){
返回application.sources(applicationClass);
}
私有静态类applicationClass=GoldenServiceApplication.Class;
}
@RestController
类迎宾控制器{
@自动连线
私人经销商和寄件人;
@邮戳(“/分销商/记录”)
公共GoldenResponse setGoldenRecord(@RequestBody String goldenRecord){
GoldenResponse响应=新的GoldenResponse();
试一试{
发送者。发布消息(goldenRecord);
response.setCode(HttpStatus.OK.value());
回复:setMessage(“发布黄金记录”);
}捕获(例外e){
字符串错误=e.getCause().toString();
error=error.length()>200?error.substring(0,200):error;
response.setMessage(“未发布黄金记录。错误:+错误”);
}
返回响应;
}
@请求映射(“/hello/{name}”)
字符串hello(@PathVariable字符串名称){
返回“你好,”+name+“!”;
}
@GetMapping(“/Example2”)
公共GoldenResponse exampleDist(){
GoldenResponse GoldenResponse=新的GoldenResponse();
goldenResponse.设置代码(1);
goldenResponse.setMessage(“sd”);
System.out.println(“Vinagre”);
返回goldenResponse;
}
}

我复制了你的问题。以下是您需要进行的更改:

  • @S
    
        package co.com.coomeva.golden.service.ws.main;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.http.HttpStatus;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import co.com.coomeva.golden.service.ws.jms.*;
    import co.com.coomeva.golden.service.ws.model.GoldenResponse;
    
    @Configuration
    @ComponentScan
    @EnableAutoConfiguration
    @SpringBootApplication(scanBasePackages = { "co.com.coomeva.golden.service.ws.controllers", "co.com.coomeva.golden.service.ws.jms.DistributorSender"})
    public class GoldenServiceApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(applicationClass, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(applicationClass);
        }
    
        private static Class<GoldenServiceApplication> applicationClass = GoldenServiceApplication.class;
    }
    
    @RestController
    class GreetingController {
    
        @Autowired
        private DistributorSender sender;
    
        @PostMapping("/distributor/records")
        public GoldenResponse setGoldenRecord(@RequestBody String goldenRecord) {
            GoldenResponse response = new GoldenResponse();
    
            try {
                sender.publishMessage(goldenRecord);
                response.setCode(HttpStatus.OK.value());
                response.setMessage("Golden Record Published");
            } catch (Exception e) {
                String error = e.getCause().toString();
                error = error.length() > 200 ? error.substring(0, 200) : error;
                response.setMessage("Golden Record was not published. Error:" + error);
            }
    
            return response;
        }
    
        @RequestMapping("/hello/{name}")
        String hello(@PathVariable String name) {
            return "Hello, " + name + "!";
        }
    
        @GetMapping("/Example2")
        public GoldenResponse exampleDist() {
            GoldenResponse goldenResponse = new GoldenResponse();
            goldenResponse.setCode(1);
            goldenResponse.setMessage("sd");
            System.out.println("Vinagre");
            return goldenResponse;
        }
    
    }
    
    @SpringBootApplication(scanBasePackages = {"co.com.coomeva.golden.service.ws.jms","co.com.coomeva.golden.service.ws.main"})
    public class GoldenServiceApplication extends SpringBootServletInitializer 
    {
    
    public static void main(String[] args) {
        SpringApplication.run(applicationClass, args);
    }
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }
    
    private static Class<GoldenServiceApplication> applicationClass = 
    GoldenServiceApplication.class;
    }
    
    @RestController
    class GreetingController {
    
    @Autowired
    private DistributorSender sender;
    
    @PostMapping("/distributor/records")
    public GoldenResponse setGoldenRecord(@RequestBody String goldenRecord) 
    {
        GoldenResponse response = new GoldenResponse();
    
        try {
            sender.publishMessage(goldenRecord);
            response.setCode(HttpStatus.OK.value());
            response.setMessage("Golden Record Published");
        } catch (Exception e) {
            String error = e.getCause().toString();
            error = error.length() > 200 ? error.substring(0, 200) : error;
            response.setMessage("Golden Record was not published. Error:" + error);
        }
    
        return response;
    }
    
    @RequestMapping("/hello/{name}")
    String hello(@PathVariable String name) {
        return "Hello, " + name + "!";
    }
    
    @GetMapping("/Example2")
    public GoldenResponse exampleDist() {
        GoldenResponse goldenResponse = new GoldenResponse();
        goldenResponse.setCode(1);
        goldenResponse.setMessage("sd");
        System.out.println("Vinagre");
        return goldenResponse;
        }
    
    }
    
    package co.com.coomeva.golden.service.ws.jms;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class DistributorSender {
    private String record;
    
    public void publishMessage(String record) {
        this.record = record;
    }
    
    }
    
    @SpringBootApplication
    public class GoldenServiceApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(applicationClass, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(applicationClass);
        }
    
        private static Class<GoldenServiceApplication> applicationClass = GoldenServiceApplication.class;
    }