0
JBoss 5.1 WebアプリケーションサーバーのWebアプリケーションでテンプレートメール用にFreemarkerを使用しようとしています。spring freemarker ConversionNotSupportedException
メール文脈のxml:
<bean id="freemarkerConfiguration"
class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="/WEB-INF/templates" />
</bean>
<bean id="registrationMailService" class="com.epam.darts.webapp.utils.RegistrationMailService">
<property name="configuration" ref="freemarkerConfiguration" />
<property name="mailSender" ref="mailSender" />
</bean>
RegistrationMailService.java:FreeMarkerのため
public class RegistrationMailService {
private JavaMailSender mailSender;
private Configuration configuration;
public void sendConfirmationEmail(final User user) {
MimeMessage message = this.mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
try {
helper.setFrom(user.getLogin());
helper.setTo(user.getLogin());
helper.setSubject(user.getLogin());
Map<String, Object> model = new HashMap<String, Object>();
model.put("user", user);
String sendText = FreeMarkerTemplateUtils.processTemplateIntoString(
this.configuration.getTemplate("regisstration_mail.html"), model);
helper.setText(sendText, true);
this.mailSender.send(helper.getMimeMessage());
}
catch(MessagingException e) {
e.printStackTrace();
}
}
public void setMailSender(final JavaMailSender mailSender) {
this.mailSender = mailSender;
}
public void setConfiguration(final Configuration configuration) {
this.configuration = configuration;
}
}
Mavenのdepandency:それは良い作品
<dependency>
<groupId>freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.9</version>
</dependency>
初めて。私は私のアプリ(MVNきれいなパッケージのJBoss:ハードデプロイ)を再展開しようとした場合しかし、私はエラー
18:17:46,839 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'registrationMailService' defined in
ServletContext resource [/WEB-INF/spring/spring-mail.xml]: Initialization of bean failed; nested exception is org.springfram
ework.beans.ConversionNotSupportedException: Failed to convert property value of type 'freemarker.template.Configuration' to
required type 'freemarker.template.Configuration' for property 'configuration'; nested exception is java.lang.IllegalStateE
xception: Cannot convert value of type [freemarker.template.Configuration] to required type [freemarker.template.Configurati
on] for property 'configuration': no matching editors or conversion strategy found
は問題がある可能性があります得たクラスローダーであるが、私はそれを修正する方法を知ってはいけません。
あなたはリジッドです。 jbossクラスローダーに問題がありました – Shurok