Programación

Mis experiencias programando en google app engine y JAVA.

Eclipse se queda en building workspace

Para solucionar el problema hay que abrir una linea de comando en el menu inicio -> run -> escrbimos cmd. Es necesario navegar al directorio de eclipse y correrlo con la opcion clean, ej.: eclipse.exe -clean

Como cambiar tema de blogger

Para hacer que tu blog se vea mejor entras a tu cuenta y le das en dashboard, despues en Layout y Pick New Template, hay puedes elegir un diseño. Si no te gusta ninguno puedes buscar en google "blogger templates" o "blogger themes" por ejemplo esta el sitio http://b-themes.blogspot.com/search/label/blogger%20templates . Bajas un archivo .zip y adentro hay un .xml en vez de darle pick new template le das en en edit html y puedes subir el archivo xml para cambiar como se ve tu blog.

Configuring Log4j with WebLogic for a Web Project

Log4J no queria cargar el archivo de properties usando la clase de PropertyConfigurator y daba la siguiente excepción a pesar de que el archivo de propiedades estaba en el classpath en la ubicación correcta.

java.io.FileNotFoundException: log4j.properties (El sistema no puede hallar el archivo especificado)

la manera de darle solución sin tratar aspectos técnicos es usando la siguiente llamada:

PropertyConfigurator.configure(Thread.currentThread().getContextClassLoader().getResource("log4j.properties"));

Saludos.

The primary key for is an unencoded string but the key of the corresponding entity in the datastore does not have a name.

La excepcion es muy seguramente causada porque no se tiene la anotación @Persistent junto con la anotación @PrimaryKey. Sólo es un post informativo.

Saludos.

Exception Failed to start reference finalizer thread. Reference cleanup will only occur when new references are created.

Estaba teniendo esta excepcion en google app engine. A pesar de tenerla el objeto SI se guarda y si no lo puedes ver debe ser un problema con la manera en que estas haciendo el query en el JDO. Abajo de la excepcion esta un ejemplo sencillo de como puedes guardar y sacar un objeto del google app engine. Sugiero tambien hacer unit tests para tus clases. Saludos.

INFO: Failed to start reference finalizer thread. Reference cleanup will only occur when new references are created.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Logeando en Google App Engine

GAE viene con un archivo de configuracion por default en WEB-INF llamado logging.properties. Para poder loggear hay que usar el metodo Logger.warning() o cambiar el nivel de logging en el logging.properties de:

.level = warning a .level = info

Saludos.

Como usar Tags de Spring en Google App Engine

Estaba intentando usar formas de Spring en el Google App Engine y me tiraba una excepcion. En particular la siguiente:

org.springframework.web.servlet.tags.RequestContextAwareTag doStartTag: access denied (java.lang.RuntimePermission getClassLoader)

Despues de googlear un poco y leer mas en un libro me di cuenta que la manera de hacer que el error se vaya es usando el siguiente codigo:

@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
binder.registerCustomEditor(String.class,
new StringTrimmerEditor(false));
}