Consultar una incidencia JIRA sin pasar por el login
http://JIRA_HOST/jira/browse/JIRA-KEY?&os_username=USER&os_password=PASSWORD
Consultar una incidencia JIRA sin pasar por el login
http://JIRA_HOST/jira/browse/JIRA-KEY?&os_username=USER&os_password=PASSWORD
Consultar mensajes enviados a una dirección de correo para una incidencia en JIRA.
SELECT n.[ID]
,i.pkey as ISSUE
,[emailaddress]
, e.name as EVENT
FROM [jiradb].[jiraschema].[notificationinstance] n , [jiradb].[jiraschema].[jiraissue] i
, jiraschema.jiraeventtype e
where
n.emailaddress = ‘email@email.com’ and
i.pkey = ‘JIRA-1′ and
n.source = i.id
and n.notificationtype = ‘NOTIFICATION_’+convert(VARCHAR, e.id)
Recientemente he visto el siguiente error ejecutando una aplicación web sobre BEA Weblogic 9.2
weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool jdbc/PoolXXX is disabled, cannot allocate resources to applications..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:242)
at weblogic.jdbc.pool.Driver.connect(Driver.java:161)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:647)
at weblogic.jdbc.jts.Driver.connect(Driver.java:137)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
El problema se deriva de que previamente se había producido otra excepción
weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: Io exception: The Network Adapter could not establish the connection
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:241)
at weblogic.jdbc.pool.Driver.connect(Driver.java:161)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:647)
at weblogic.jdbc.jts.Driver.connect(Driver.java:137)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:359)
Al producirse esta excepción Weblogic deshabilita el pool y las siguientes peticiones de conexiones al pool muestran el error inicial Pool jdbc/PoolXXX is disabled.
Después de hacer diferentes pruebas y eliminar cualquier sospecha de que el problema procedía de la aplicación y después de haber probado diferentes configuraciones del Pool para intentar mitigar el problema, se solucionó con una actuación, no se cual, al firewall.
Instalar Windows Resource Kit Tools
http://www.petri.co.il/download_windows_2003_reskit_tools.htm
Instalar CruiseControl
http://cruisecontrol.sourceforge.net/
Crear el servicio
Ejecutar en la consola de windows
cd C:\Archivos de programa\Windows Resource Kits\Tools
instsrv.exe CruiseControlServer “C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe”
The service was successfuly added!
Configurar el servicio mediante regedit
Mi PC\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CruiseControlServer
Nota: $CCDIR$ es la ruta de instalación del CruiseControl
Editar cruisecontrol.bat
Descomentar la definición de CC_OPTS para configurar la memoria que puede utilizar el servidor.
Añadir el parámetro -Xrs para evitar que se pare al hacer logout
Añadir cd %CCDIR% justo antes de %EXEC% en una linea separada.
Arrancar el servicio
Ejecutar en la consola de windows
net start CruiseControlServer
Acceder al Dashboard
Trabajando con LoadRunner, haciendo pruebas a una aplicación sobre HTTPS obtuve persistentemente el error -27791, “Server ’server name’ has shut down the connection prematurely“, aparentemente sin ningún motivo.
Se solucionó añadiendo :
vuser_init() {
web_set_sockets_option (“CLOSE_KEEPALIVE_CONNECTIONS”, “1″);
web_set_sockets_option(”SSL_VERSION”, “3″);
web_set_sockets_option(”MAX_CONNECTIONS_PER_HOST”,“1″);
web_set_sockets_option(”OVERLAPPED_SEND”, “0″);
web_set_sockets_option(”IGNORE_PREMATURE_SHUTDOWN”, “1″);
return 0;
}
#Crear un nuevo projecto maven
mvn archetype:create -DgroupId=es.test.X -DartifactId=my-app.
#Crear la confgiuración de eclipse de un proyecto .project ,…
mvn eclipse:eclipse
#Si se trata de una aplicación web
mvn -Dwtpversion=2.0 eclipse:eclipse
# descargar dependencias
mvn dependency:resolve
# descargar código fuente
mvn dependency:sources
##parámetros
#OFFLINE
-o
#descargar source
-DdownloadSources=true
#descargar javadoc
-DdownloadJavadocs=true
Siempre se me olvida, ¿a tí también?
WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
He partido de esta documentación que está muy bien
https://jaxb.dev.java.net/jaxb-maven2-plugin/
El primer problema que he tenido ha sido descargar el jar del plugin a pesar de definir el repositorio
<repository>
<id>java.net</id>
<name>java.net Maven Repository</name>
<url>https://maven-repository.dev.java.net/nonav/repository</url>
<layout>legacy</layout>
</repository>
He encontrado el jar en
https://maven-repository.dev.java.net/repository/com.sun.tools.xjc.maven2/maven-plugins/
Lo he descargado y después lo he instalado en mi respoitorio
mvn install:install-file -DgroupId=com.sun.tools.xjc.maven2 -DartifactId=maven-jaxb-plugin -Dversion=1.1 -Dpackaging=maven-plugin -Dfile=maven-jaxb-plugin-1.1.jar
Una vez hecho esto he configurado un poco el plugin, ya que para trabajar con dtds hace falta algún pequeño cambio sobre la documentación inicial
<plugin>
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>es.test.ejemplo.xml</generatePackage>
<includeSchemas>
<includeSchema>**/ejemplo.dtd</includeSchema>
</includeSchemas>
<excludeSchemas>
<excludeSchema>**/*.xml</excludeSchema>
</excludeSchemas>
<includeBindings>
<includeBinding>*.xjb</includeBinding>
</includeBindings>
<strict>true</strict>
<verbose>true</verbose>
<args>-dtd</args>
</configuration>
</plugin>
Los cambios necesarios sobre la documentación original están marcados en negrita.
Sólo se puede hacer la generación de un DTD y hay que pasar un argumento –dtd al generador para que funcione correctamente.
Sólo recordar que el dtd ha de estar en el directorio src\main\resources
Una vez hecho se han generado las clases correctamente en el directorio target\generated-sources\xjc
Para hacer que todo compile y se ejecute correctamente hay que añadir las siguientes dependencias :
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.0.5</version>
</dependency>
Y así hacer marshal y unmarshal se vuelve trivial
public String marshal(XMLRequest request) throws JAXBException, UnsupportedEncodingException {
JAXBContext context = JAXBContext.newInstance(XMLRequest.class
.getPackage().getName());
Marshaller m = context.createMarshaller();
ByteArrayOutputStream bo = new ByteArrayOutputStream();
m.marshal(request, bo) ;
return bo.toString(“UTF-8″);
}
public Fact24Request unmarshal(String xml) throws JAXBException {
JAXBContext context = JAXBContext.newInstance(XMLRequest.class
.getPackage().getName());
Unmarshaller um = context.createUnmarshaller();
Fact24Request request = (XMLRequest) um.unmarshal(new StringReader(xml));
return request;
}
Los XML comienzan con:
<?xml version=“1.0″ encoding=“ISO-8859-15″?>
Sin espacios al principio del archivo. Esto te permite usar tildes, diéresis y el símbolo del € en tus XML sin preocuparte por transformarlos a UTF-8
Cuando necesitas poner espacios, cambios de linea, símbolos < > & , CDATA es lo que necesitas.
Formato:
<![CDATA[ Aquí puedes poner lo que quieras. ]]>
Para cualquier tipo de URI el formato es:
protocol://usuario:clave@server:port/path
Ejemplos
http://user:clave@xxx.com/paginaSegura
ftp://user:clave@xxx.com/directorioSeguro
http://user:clave@xxx.com/paginaSegura