Modify the application´s context root
En las primeras versiones del Flex Plugin para la integración del entorno con Eclipse podíamos modificar el context root en alguna de las pantallas de configuración como Flex Compiler o Flex Build Path.
Pero actualmente en la última versión del plugin a día de hoy la versión 4.6 no es posible modificarlo.
Para ello lo que hago es abrir el archivo ".flexProperties" que está oculto y tenemos que hacer que aparezca, para ellos pinchamos en el botón que tiene las flechas
abrimos el archivo y en el apartado serverContextRoot ponemos el contexto que queramos.
serverContextRoot ="/MyContextRoot".
Hay que tener cuidado porque a veces al modificar alguno de los apartados de la configuración de Flex del proyecto este archivo puede volverse a modificar y volver a si valor original que es
serverContextRoot ="/WebContent"
Hay acordarse de hacer un build de la aplicación(build) para que la compilar la aplicación este parámetro se incorpore.
Esto principalmente puede servir para configurar las llamadas al protocolo amf cuando hacemos llamadas a servicios remotos,
http://localhost:8080/MyContextRoot/messagebroker/amf
http://localhost:8080/WebContent/messagebroker/amf
Translate
jueves, 21 de junio de 2012
lunes, 18 de junio de 2012
Spring JPA MongoDB: java.lang.NoSuchMethodError: com.mysema.query.mongodb.MongodbQuery
En nuestros proyecto estamos estamos trabajando con Spring Data Jpa para MySql y para MongoDb.
Al hora de hacer una query en MongoDb utilizando QueryDSL para utilizar los predicado que facilitan la creación de queries, nos ha dado el siguiente error.
El error proviene al hacer una query como esta:
El problema consistía en un problema de versiones entre los jar de
Las versiones de los Jars fueron las siguientes a fecha (18/06/2012)
Al hora de hacer una query en MongoDb utilizando QueryDSL para utilizar los predicado que facilitan la creación de queries, nos ha dado el siguiente error.
------ java.lang.NoSuchMethodError: com.mysema.query.mongodb.MongodbQuery.<init>(Lcom/mongodb/DBCollection;Lcom/google/common/base/Function;Lcom/mysema/query/mongodb/MongodbSerializer;)V at org.springframework.data.mongodb.repository.support.SpringDataMongodbQuery.<init>(SpringDataMongodbQuery.java:58) at org.springframework.data.mongodb.repository.support.SpringDataMongodbQuery.<init>(SpringDataMongodbQuery.java:44) at org.springframework.data.mongodb.repository.support.QueryDslMongoRepository.createQueryFor(QueryDslMongoRepository.java:167) at org.springframework.data.mongodb.repository.support.QueryDslMongoRepository.count(QueryDslMongoRepository.java:154) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:334) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) -----El código utilizado el el siguiente:
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.querydsl.QueryDslPredicateExecutor;
import charris.example.domain.Product;
public interface ProductRepository extends MongoRepository<Product, String>, QueryDslPredicateExecutor<Product> {
}
El error proviene al hacer una query como esta:
ProductRepository repo = context.getBean(ProductRepository.class);
Product p = repo.findOne(QProduct.product.name.eq("ProductName"));
El problema consistía en un problema de versiones entre los jar de
- querydl-mongodb
- spring-data
Las versiones de los Jars fueron las siguientes a fecha (18/06/2012)
- querydsl-mongodb-2.5.0.jar
- querydsl-mongodb-2.5.0-apt.jar
- querydsl-mongodb-2.5.0-apt-one-jar.jar
- spring-data-commons-core-1.3.2.BUILD-20120618.140513-1.jar
- spring-data-jpa-1.1.1.BUILD-20120606.192912-1.jar
- spring-data-mongodb-1.1.0.BUILD-20120614.104654-40.jar
lunes, 11 de junio de 2012
ANT: Tratamiento de Strings en ANT con AntelopeTasks
Managing Strings with ANT (Antelope Tasks)
pre-requisitos: Conocimientos de ANT y algo de configuración de librerías auxiliares de ANT;
Cuando la funcionalidad básica de de ANT se queda corta es necesario utilizar otras librerías auxiliares que nos dan la funcionalidad extra que no tenemos con las librerías básicas de ANT.
Como ejemplos tenemos:
Una vez descargado el .jar de Antelope podemos consultar la documentación de instalación de las tareas adicionales y podemos ver que la configuración es puede hacer de dos maneras:
A la hora de utilizar la funcionalidad es tan sencillo como fijarse en los ejemplos que trae la documentación, os dejo el ejemplo del lowercase.
Es muy sencillo en la propiedad project_name_lowecase se guardará el contenido transformado en minúsculas que venga en la propiedad project_name.
pre-requisitos: Conocimientos de ANT y algo de configuración de librerías auxiliares de ANT;
Cuando la funcionalidad básica de de ANT se queda corta es necesario utilizar otras librerías auxiliares que nos dan la funcionalidad extra que no tenemos con las librerías básicas de ANT.
Como ejemplos tenemos:
- ant-contrib: Aporta tareas para programar con ant más fácilmente (if, foreach,etc..)
- Antelope: Aparte de una interfaz gráfica, tiene una amplia gama de tareas en mi caso el tratamiento de Strings que es el que he utilizado.
Una vez descargado el .jar de Antelope podemos consultar la documentación de instalación de las tareas adicionales y podemos ver que la configuración es puede hacer de dos maneras:
- La fácil: Copiando el Jar en el directorio lib donde tengamos instalado ant. Pero a mi no me gusta este método porque me interesa que tendría que hacer esto en cada equipo y también en la instalación de Ant del servidor de integración. Prefiero que esta configuración esté dentro de los archivos de mi proyecto.
- La más independiente: Referenciando al archivo jar de antelope y la tarea que voy a usar en mi script de Ant.
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" basedir="." name="GX2 Packager">
<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask">
<classpath>
<pathelement location="${AntLibs}/AntelopeTasks_3.5.1.jar"/>
</classpath>
</taskdef>
A la hora de utilizar la funcionalidad es tan sencillo como fijarse en los ejemplos que trae la documentación, os dejo el ejemplo del lowercase.
Es muy sencillo en la propiedad project_name_lowecase se guardará el contenido transformado en minúsculas que venga en la propiedad project_name.
<!-- Guardamos el nombre proyecto en minusculas-->
<stringutil string="${project_name}" property="project_name_lowercase">
<lowercase/>
</stringutil>
Suscribirse a:
Entradas (Atom)