miércoles, 3 de mayo de 2017
SchemaSpy en ubuntu
Hay que tener java8 instalado para poder ejecutar el jar.
Probar el comando java -version en linea de comandos.
Debería salir un mensaje de este estilo:
java version "1.8.xx"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Si no sale este mensaje seguir un tutorial de este tipo:
https://www.digitalocean.com/community/tutorials/instalar-java-en-ubuntu-con-apt-get-es
Descargas:
Hay que descargar/instalar 3 cosas:
- Schemaspy, el programa:
https://github.com/schemaspy/schemaspy/releases
- Conector a la base de datos (en mi caso mysql):
http://www.java2s.com/Code/JarDownload/mysql/mysql-connector-java-5.1.6-bin.jar.zip
Por defecto busca el jar en /mysql/, así que deberás ponerlo en la raiz.
- Graphviz, sin esto funciona pero no se generan gráficos
http://www.graphviz.org/pub/graphviz/stable/ubuntu/ub13.10/x86_64/graphviz_2.38.0-1~saucy_amd64.deb
Tiene que estar incluido en el path, y poder ejecutarse el comando "dot" desde cualquier lugar
Comandos:
Dependiendo de tu base de datos hay que poner unos parámetros u otros, para saber cuales hay que poner, ejecutar:
java -jar schemaSpy_TU.VERSION.jar -dbhelp
En mi caso me fijo en esto
mysql:
MySQL
-host hostname[:port] host where database resides with optional port
-db database name
Una vez que tienes esto el comando completo sería éste, para mysql:
java -jar schemaSpy_TU.VERSION.jar -t mysql -host localhost -port 3306 -db database_dev -s schema_dev -u user1 -p mypass -o directory
Probar el comando java -version en linea de comandos.
Debería salir un mensaje de este estilo:
java version "1.8.xx"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Si no sale este mensaje seguir un tutorial de este tipo:
https://www.digitalocean.com/community/tutorials/instalar-java-en-ubuntu-con-apt-get-es
Descargas:
Hay que descargar/instalar 3 cosas:
- Schemaspy, el programa:
https://github.com/schemaspy/schemaspy/releases
- Conector a la base de datos (en mi caso mysql):
http://www.java2s.com/Code/JarDownload/mysql/mysql-connector-java-5.1.6-bin.jar.zip
Por defecto busca el jar en /mysql/, así que deberás ponerlo en la raiz.
- Graphviz, sin esto funciona pero no se generan gráficos
http://www.graphviz.org/pub/graphviz/stable/ubuntu/ub13.10/x86_64/graphviz_2.38.0-1~saucy_amd64.deb
Tiene que estar incluido en el path, y poder ejecutarse el comando "dot" desde cualquier lugar
Comandos:
Dependiendo de tu base de datos hay que poner unos parámetros u otros, para saber cuales hay que poner, ejecutar:
java -jar schemaSpy_TU.VERSION.jar -dbhelp
En mi caso me fijo en esto
mysql:
MySQL
-host hostname[:port] host where database resides with optional port
-db database name
Una vez que tienes esto el comando completo sería éste, para mysql:
java -jar schemaSpy_TU.VERSION.jar -t mysql -host localhost -port 3306 -db database_dev -s schema_dev -u user1 -p mypass -o directory
lunes, 10 de abril de 2017
viernes, 31 de marzo de 2017
miércoles, 29 de marzo de 2017
arrancar aplicación springboot en segundo plano desde unix
nohup java -jar -Dspring.profiles.active=production example-springboot.jar > /dev/null 2>&1 &
miércoles, 15 de marzo de 2017
Spring data rest, HATEOAS exposeIds
Para que las rests HATEOAS muestren los campos id de cada elemento:
@Component
@Slf4j
public class SpringDataRestCustomization extends RepositoryRestConfigurerAdapter {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
listMatchingClasses(Entity.class).forEach(entity -> config.exposeIdsFor(entity));
}
public List<Class> listMatchingClasses(Class annotationClass) {
List<Class> classes = new LinkedList<Class>();
ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(true);
scanner.addIncludeFilter(new AnnotationTypeFilter(annotationClass));
for (BeanDefinition bd : scanner.findCandidateComponents(Project.class.getPackage().getName())) {
try {
classes.add(Class.forName(bd.getBeanClassName()));
} catch (ClassNotFoundException e) {
log.error("listMatchingClasses problem", e);
}
}
return classes;
}
}
jueves, 2 de marzo de 2017
Spring4, cors, problema con seguridad
Paso 1. Añadir una clase de configuración para corsConfigurer:
@Configuration
public class MyConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
};
}
}
Paso 2. Añadir Clase para seguridad
@EnableWebSecurity
@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.antMatcher("/**").authorizeRequests().requestMatchers(CorsUtils::isPreFlightRequest).permitAll()
.anyRequest().fullyAuthenticated().and().httpBasic().and().csrf().disable();
}
}
Suscribirse a:
Entradas (Atom)