Getting full string stack trace including inner exception

clock March 22, 2015 21:46 by author Administrator

public static String joinStackTrace(Throwable e) {
        StringWriter writer = null;
        try {
            writer = new StringWriter();
            joinStackTrace(e, writer);
            return writer.toString();
        } finally {
            if (writer != null)
                try {
                    writer.close();
                } catch (IOException e1) {
                    // ignore
                }
        }
    }

    public static void joinStackTrace(Throwable e, StringWriter writer) {
        PrintWriter printer = null;
        try {
            printer = new PrintWriter(writer);

            while (e != null) {

                printer.println(e);
                StackTraceElement[] trace = e.getStackTrace();
                for (int i = 0; i < trace.length; i++)
                    printer.println("\tat " + trace[i]);

                e = e.getCause();
                if (e != null)
                    printer.println("Caused by:\r\n");
            }
        } finally {
            if (printer != null)
                printer.close();
        }
    }



Use Spring JavaMailSender and Freemarker to send Email by template

clock March 18, 2015 19:32 by author Administrator

 

<bean class="org.springframework.mail.javamail.JavaMailSenderImpl" id="mailSender">
  <property name="host" value="${mail.host}"></property>
  <property name="username" value="${mail.username}"></property>
  <property name="password" value="${mail.password}"></property>
  <property name="javaMailProperties">
    <props>
      <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
      <prop key="mail.smtp.port">${mail.smtp.port}</prop>
      <prop key="mail.smtp.host">${mail.host}</prop>
      <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
  </property>
</bean>

 

<bean class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean" id="freemarkerConfiguration">
  <property name="preferFileSystemAccess" value="false"></property>
  <property name="templateLoaderPath" value="classpath:/"></property>
</bean>

 

 

 


 
import java.util.Map;
 
import javax.mail.internet.MimeMessage;
 
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
 
import freemarker.template.Configuration;


 @Service("mailService")
public class MailService {
 @Autowired
  private JavaMailSender javaMailSender;

@Autowired
  private Configuration freemarkerConfiguration;
  
  public void sendMail(final String from, final String to, final String subject, final Map<string object=""> model, final String template){
    MimeMessagePreparator preparator = new MimeMessagePreparator() {
           public void prepare(MimeMessage mimeMessage) throws Exception {
              MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
              message.setFrom(from, "azizkhani");
              message.setTo(to);
              message.setSubject(subject);
              //template sample: "freemarker/confirm-register.ftl"
                String text =FreeMarkerTemplateUtils.processTemplateIntoString(freemarkerConfiguration.getTemplate(template,"UTF-8"), model);
              message.setText(text, true);
           }
        };
    javaMailSender.send(preparator);
  }
 
}

 



freemarker template engine ------try catch if else loop

clock March 18, 2015 12:58 by author Administrator

 

i think one of best solution for generate code is using template engine like freemarker.
for using try catch or if else and some other expression in it using like this

<#attempt>
attempt block

<#recover>
recover block
</#attempt>



<#if x == 1> x is 1
<#elseif x == 2> x is 2
<#elseif x == 3> x is 3
</#if>


<#list fields as field>
<#list>




this template generate fileds for hibernate hbm.xml

<#list fields as field>
<#attempt>
<#if "${field.type.superclass}"=="class org.model.BaseEntity">
<many-to-one name="${field.name}" column="${field.name}" entity-name="${field.type.name}" not-null="true" />
<#else>
<property column="${field.name}" name="${field.name}" type="${field.type.simpleName}" not-null="false" />
</#if>
<#recover>
<property column="${field.name}" name="${field.name}" type="${field.type.simpleName}" not-null="false" />
</#attempt>
</#list>

 



How to determine and print jQuery version?

clock March 13, 2015 15:51 by author Administrator
$.fn.jquery


Using HTML5 Geolocation to get current location

clock February 27, 2015 20:44 by author Administrator

 if(!!navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function(position) {
                    var geolocate = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                    map.setCenter(geolocate);
                });
   }



jump into interface implementation in Eclipse IDE

clock January 19, 2015 21:22 by author Administrator

here's a big productivity boost if you add an Alt + F3 key binding to the Open Implementation feature,

and just use F3 to go to interfaces, and Alt + F3 to go to implementations.

Open implementation keybinding

 

OR

 

Press Ctrl + T on the method name (rather than F3)



jquery easy ui right to left bug

clock December 31, 2014 20:14 by author Administrator

jquery easy ui bug in tree rtl

add this style to easyui-rtl.css‬

.tree-node{

     direction:rtl;

}

Cool

 

 

 



How does @RequestParam in Spring handle Optional?

clock December 31, 2014 20:04 by author Administrator
@RequestMapping("foo")
@ResponseBody
public String foo(@RequestParam(required =false) final Optional name){
return"name: "+(name ==null?"null": name.get());
}


Hibernate exception _$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

clock December 23, 2014 22:18 by author Administrator

hibernate 4.3.7 using javasssist new version and oracle weblogic older than that version for solve this problem will add this configuration to weblogic.xml

<wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>javassist</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>



@Autowired and static method

clock December 23, 2014 16:09 by author Administrator

@Component
public class Boo {

    private static Foo foo;

    @Autowired
    public Boo(Foo foo) {
        Boo.foo = foo;
    }

    public static void randomMethod() {
         foo.doStuff();
    }
}


@Component
public class Boo {

    private static Foo foo;
    @Autowired
    private Foo tFoo;

    @PostConstruct
    public void init() {
        Boo.foo = tFoo;
    }

    public static void randomMethod() {
         foo.doStuff();
    }
}



About the author

 Welcome to this web site . This page has two purposes: Sharing information about my professional life such as articles, presentations, etc.
This website is also a place where I would like to share content I enjoy with the rest of the world. Feel free to take a look around, read my blog


Java,J2EE,Spring Framework,JQuery,

Hibernate,NoSql,Cloud,SOA,Rest WebService and Web Stack tech...

Month List

Sign In