Command Syntax

find /folder/files* -mtime +15 -exec rm {} \;

The first argument is the path to the files. This can be a path, a directory, or a wildcard as in the example above. The second argument, -mtime, is used to specify the number of days old that the file is. If you enter +15, it will find files older than 15 days. The third argument, -exec, allows you to pass in a command such as rm. The {} \; at the end is required to end the command.

Another way to do it is:

/bin/rm `find /var/tmp/stuff -mtime +15 -print`

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.

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

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>

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.

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!

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.

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

(Poetry 2.0)

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