2017-08-09 146 views
0

我使用spring boot + apache camel + jpa创建了一个新项目。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变量,这是应该被注射......将变为空。

任何人都知道会发生什么?

感谢,

回答

0

让你的骆驼处理器通过@Component注解一个Spring bean。