2011-06-23 20 views
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 

は問題がある可能性があります得たクラスローダーであるが、私はそれを修正する方法を知ってはいけません。

答えて

1

あなたのクラスパスにfreemarkerのJARファイルが2つあるようです。あなたはそれらを見つけ、それを一つに絞る必要があります。

+0

あなたはリジッドです。 jbossクラスローダーに問題がありました – Shurok

関連する問題