【问题标题】:spring boot + apache camel + jpaspring boot + apache camel + jpa
【发布时间】:2018-01-17 17:24:58
【问题描述】:

我正在使用 spring boot + apache camel + jpa 创建一个新项目。

应该很简单,但是配置有问题,找不到是什么。

apache 骆驼路由似乎可以工作,但数据库连接似乎没有。

主应用:

@SpringBootApplication
@EnableAutoConfiguration
public class PolicyUpdateWebServiceApplication {
protected static final Logger LOG = Logger.getLogger(PolicyUpdateWebServiceApplication.class);

public static void main(String[] args) {
    new SpringApplication(PolicyUpdateWebServiceApplication.class).run(args);
}

@Bean
public ServletRegistrationBean dispatcherServlet() {
    return new ServletRegistrationBean(new CXFServlet(), "/webservices/*");
}

@Bean(name= Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
    return new SpringBus();
}
}

实体:

@Entity
@XmlRootElement(
    name = "TransactionInfo"
)
@XmlCDATA({"bookingXML"})
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "TransactionInfo",
    propOrder = {"transactionId", "CCVB", "quoteNumber", "policyNumber", "bookingXML", "creationDate", "lastModified", "status", "statusDescription"}
)
public class TransactionInfo implements Serializable {
private static final long serialVersionUID = -2368497973443507661L;

@Id
private String transactionId;

@Embedded
@Column(nullable = false)
private CCVB CCVB;

@Column(nullable = false, length = 50)
private String quoteNumber;

@Column(nullable = false, length = 50)
private String policyNumber;

@Column(nullable = false)
private String bookingXML;

@XmlJavaTypeAdapter(XMLDateAdapter.class)
@Column(nullable = false, updatable = false)
private Date creationDate;

@XmlJavaTypeAdapter(XMLDateAdapter.class)
@Column(nullable = false)
private Date lastModified;

@Column(length = 4, nullable = false)
private IntegrationStatus status;

@Column(length = 100)
private String statusDescription;

存储库:

@Repository
public interface TransactionInfoRepository extends     CrudRepository<TransactionInfo, String> {
TransactionInfo findByTransactionId(String name);
TransactionInfo save(TransactionInfo TransactionInfo);
}

服务:

public interface TransactionInfoService {
void saveTransactionInfo(TransactionInfo transactionInfo);
}

服务实现:

@Component("transactionInfoService")
@Transactional
public class TransactionInfoServiceImpl implements TransactionInfoService {
@Autowired
TransactionInfoRepository transactionInfoRepository;

public void saveTransactionInfo(TransactionInfo transactionInfo) {
    transactionInfoRepository.save(transactionInfo);
}
}

在 apache 路由期间...我有代码:

public class PolicyPublishProcessor implements Processor {

@Autowired
TransactionInfoService transactionInfoService;

TransactionInfo transactionInfo = new TransactionInfo();

// save a couple of customers
transactionInfoService.saveTransactionInfo(transactionInfo);

但是,当我打开调试时...我可以看到应该被注入的 transactionInfoService 变量...即将为空。

有人知道会发生什么吗?

谢谢,

【问题讨论】:

    标签: apache hibernate jpa spring-boot apache-camel


    【解决方案1】:

    通过@Component 注释使您的骆驼处理器成为Spring bean。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-20
      • 2017-07-05
      • 1970-01-01
      • 2018-08-24
      • 2020-10-24
      • 1970-01-01
      • 2022-12-23
      • 2018-08-11
      相关资源
      最近更新 更多