Andrea Girardi - It's my blog!

How do I fix a 65535 bytes limit Stacktrace?

It is possible that after an upgrade you may encounter this error on some of the more complex pages and root cause provided by tomcat console is :

Unable to compile class for JSP
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

To solve the issue you need to locate the file [Tomcat_Home]/conf/web.xml and search the file for ‘JspServlet’. This should return an xml node of containing some values. You will need to add an additional the same as the below.

<init-param>
     <param-name>mappedfile</param-name>
     <param-value>false</param-value>
</init-param>

The resulting block of the web.xml file, once you have inserted the above, should look like the code below.

<servlet>
	<servlet-name>jsp</servlet-name>
	<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
	<init-param>
	    <param-name>fork</param-name>
	    <param-value>false</param-value>
	</init-param>
	<init-param>
	    <param-name>xpoweredBy</param-name>
	    <param-value>false</param-value>
	</init-param>
	<init-param>
	     <param-name>mappedfile</param-name>
	     <param-value>false</param-value>
	</init-param>         
	<load-on-startup>3</load-on-startup>
</servlet>

Save the file and restart the Tomcat service.

How to kill all processes with a given (partial) name?

Usually I open more than on instance of tail -f to monitor my application, so, to kill all with one single command I can use this:

ps -ef | grep tail | grep -v grep | awk '{print $2}' | xargs kill -9

MappingJacksonHttpMessageConverter not found

I was trying to run a java batch that call an application context without success (it’s a java app that calls a Camel spring context). This is what I get during the startup:

ERROR ApplicationProperties @ addApplicationProperty [28] org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from file [/MessageRouting/src/test/resources/META-INF/spring/LOCALHOST-db-context.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/converter/json/MappingJacksonHttpMessageConverter
Fatal error! java.lang.RuntimeException: Error loading ClassPathXmlApplicationContext file - src/test/resources/META-INF/spring/LOCALHOST-db-context.xml

I’m using spring 4.2.3 (updated yesterday, probably the reason for which it doesn’t work. It was 4.0.9). I know that MappingJacksonHttpMessageConverter has been replaced by MappingJackson2HttpMessageConverter but, how can I tell to spring to use the new version???

I followed some suggestion and I added this to my pom.xml:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.6.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.3</version>
</dependency>   
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.6.3</version>
</dependency>

But this didn’t fix so, I finally resolved the issue adding this dependency to my pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

Which log4j configuration are you using?

Sometimes log4j is not working properly and you need to verify where it is actually writing the log entries. This can be easily verified turning on the log4j.debug:

-Dlog4j.debug

It will print to System.out lots of helpful information about which file it used to initialize itself, which loggers / appenders got configured and how etc.

Looking for new challenge – Day #7

Replied to more than 20 job offers.
No replies.
Too much experience?

If found this article really interesting about the relocation: Relocation? No way! But please, keep requiring it by @alobbs

Consider this, here in Italy the job offers are for something absolutely not interesting (in some case really boring) and / or not honestly payed so, it’s mandatory to find outside Italy. Not a problem, there are a million of job offers, but what if somebody can’t relocate easily? (or can’t relocate at all?) I don’t want to settle and be unhappy for my entire life. I want to do something really interesting and exiting!

Parse an unknown JSON with Jquery

Sometime it happens to receive a JSON string than need to be visualized without knowing the structure. Suppose we have an HTML table:

<tbody id="reportTable">					
</tbody>

To populate this table with jQuery it’s possible to use this simple code:

var rows = ${reportRows};
var html = $.each(rows, function(key, value){
 
	$("#reportTable").append("<tr>");
 
	$.each(value, function (key, data) {
		$("#reportTable").append("<td>" + data + "</td>");
	});
 
	$("#reportTable").append("</tr>");
 
});

${reportRows} comes from a Spring MVC Controller and it’s a Java string generates using Jackson (or Gson) in this way:

ColumnMapRowMapper rowMapper = new ColumnMapRowMapper();
List<Map<String, Object>> reportDataList =  getJdbcTemplate().query(sqlComplete, rowMapper);
 
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(reportDataList);

So, we have a query that return a not know number of column (suppose your code dynamically generate the query), we translate the results in JSON and we use jQuery to render the results.

Looking for new challenge – Day #1

It’s clear.
I need to move on.
Prospective are not so rosy.
What’s the next step?
Anguish.

(Poetry 2.0)

Time to Quit

If you see one of these red flags:

  • being compensated unfairly.
  • being mistreated, undervalued, or disrespected.
  • disagreeing with the fundamental strategy or practices of the company and not being in a position to change them.
  • failing to get along with your manager and your teammates.
  • failing to fit in with the company culture.

read immediately this really interesting post

Lezione di economia by S. Barisoni

Ieri ho appreso quella che posso considerare una grandissima lezione di economia applicabile ad ogni livello (macro e micro economico) sulla svalutazione. Tutto nasce dalla risposta data nella trasmissione Focus Economia di Radio24 da parte di Sebastiano Barisoni a Beppe Grillo. Sul suo blog, il grillo genovese, aveva scritto in maniera delirante come le idee di Barisoni sulla non uscita dall’euro fossero sbagliate e proponendo soluzioni grilline. La risposta data da Barisoni sulla speculazione è qualcosa di affascinante fin troppo veritiero:

La debolezza del nostro sistema industriale era precedente all’arrivo dell’Euro (gia’ crescevamo meno della media europea) e il fatto che negli ultimi anni siamo riusciti ad esportare cosi bene nonostante l’Euro forte dimostra che la competitivita’ di un paese non dipende dalla forza della sua valuta (fermo restando che aiuta non avere una moneta non sopravvalutata) ma da altri fattori (innovazione di prodotto e processo, investimenti in ReS, oneri fiscali e burocratici, etc) a meno che non si rimpiangano le svalutazioni competitive della liretta che hanno drogato il nostro sistema produttivo, fatto imbarcare debito stellare e che comunque con la concorrenza dei Brics e del loro costo del lavoro non sarebbero nemmeno piu’ efficaci.

Invece che innamorarsi di soluzioni taumaturgiche invito ad andare banalmente a vedere cosa e’ accaduto ai tassi di interesse in tutti i paesi che hanno subito svalutazioni della divisa dalla Russia attuale al Sud Africa di alcuni anni or sono. Quelli sono fatti non supposizioni. Mai sentito parlare poi di fuga di capitali quando crolla una valuta? E delle banche centrali che aumentano i tassi e bloccano i cc per evitare che tutti si rifugino in monete forti? Cosa significherebbe pagare anche un banale 7/8 per cento sul debito rispetto ai valori attuali? E a quel punto che cosa garantirebbe una Banca d’Italia in piu’ di una Bank of Russia o Bank of Greece? E i debiti di tutti i gruppi italiani che sono espressi in euro quanti fallimenti causerebbero?
Mi fermo qui perché penso che sia piu’ facile accusare l’untore (l’euro) che ragionare seriamente sui ritardi e i lussi che ci siamo concessi in questi anni e sulla strada tutta in salita che dobbiamo compiere per rimetterci in carreggiata. Infine se si ascolta il mio programma sa’ che critico quasi quotidianamente questa Europa ragionieristica e stupida (ma non confondo l’euro con l’applicazione miope e tedesca del patto di stabilita’) che non derido gli ascoltatori ma mi limito a discutere con loro, senza offenderli pur ricevendo critiche pesanti. Una considerazione conclusiva: ma se per risolvere tutti i problemi bastasse uscire dall’Euro perché nemmeno i greci nella loro situazione e senza un debito enorme come il nostro, vogliono fare questo passo? Forse perché non vogliono stare ancora peggio?

Ed inoltre (vado a memoria), fa riferimento a come il futuro dell’Italia non è quello di mettersi in competizione nel settore manifatturiero con paesi del terzo mondo dove la manadopera è così sottoscosto che sarebbe comunque impossibile competere, ma deve rinnovarsi, fare le riforme, e andare in concorrenza sulla qualità.

Tutto questo applicabile anche al lavoro di tutti i giorni? Perché abbassare il prezzo per essere competitivi e confrontarsi con fornitori peggiori e non aumentare la qualità del prodotto investendo e rinnovando?

Attendiamo speranzosi le riforme ed il rinnovo.

« Older posts

Copyright © 2016 Andrea Girardi – It's my blog!

Theme by Anders NorenUp ↑