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 {
                } catch (IOException e1) {
                    // ignore

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

            while (e != null) {

                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)

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="${}"></property>
  <property name="username" value="${mail.username}"></property>
  <property name="password" value="${mail.password}"></property>
  <property name="javaMailProperties">
      <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
      <prop key="mail.smtp.port">${mail.smtp.port}</prop>
      <prop key="">${}</prop>
      <prop key="mail.smtp.starttls.enable">true</prop>


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




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;

public class MailService {
  private JavaMailSender javaMailSender;

  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");
              //template sample: "freemarker/confirm-register.ftl"
                String text =FreeMarkerTemplateUtils.processTemplateIntoString(freemarkerConfiguration.getTemplate(template,"UTF-8"), model);
              message.setText(text, true);


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 block

recover block

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

<#list fields as field>

this template generate fileds for hibernate hbm.xml

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


How to determine and print jQuery version?

clock March 13, 2015 15:51 by author Administrator

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);

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




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‬








How does @RequestParam in Spring handle Optional?

clock December 31, 2014 20:04 by author Administrator
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


@Autowired and static method

clock December 23, 2014 16:09 by author Administrator

public class Boo {

    private static Foo foo;

    public Boo(Foo foo) { = foo;

    public static void randomMethod() {

public class Boo {

    private static Foo foo;
    private Foo tFoo;

    public void init() { = tFoo;

    public static void randomMethod() {

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