Compra tus pasajes online en EnBusEcuador

La forma más rápida de comprar pasajes por Internet y movilizarte en Ecuador en transporte interprovincial

 

 

 

https://enbusecuador.com

UT000047: The number of parameters exceeded the maximum of 1000 en Wildfly

Error en el servidor de Wildfly UT000047: The number of parameters exceeded the maximum of 1000 en Wildfly

MAX_PARÁMETROS

El número máximo de parámetros de consulta permitidos en una solicitud. Si un cliente envía más de este número, la conexión se cerrará. Este límite es necesario para proteger contra ataques de denegación de servicio basados ​​en hash. El valor predeterminado es 1000.
Solución:

<subsystem xmlns=»urn:jboss:domain:undertow:3.1″>
<buffer-cache name=»default»/>
<server name=»default-server»>
<ajp-listener name=»ajp» socket-binding=»ajp» max-parameters=»5000″/>
<http-listener name=»default» socket-binding=»http» max-parameters=»5000″ redirect-socket=»https» enable-http2=»true»/>
<https-listener name=»https» socket-binding=»https» security-realm=»ApplicationRealm» enable-http2=»true»/>
<host name=»default-host» alias=»localhost»>
<location name=»/» handler=»welcome-content»/>
<filter-ref name=»server-header»/>
<filter-ref name=»x-powered-by-header»/>
<filter-ref name=»gzipFilter» predicate=»exists[‘%{o,Content-Type}’] and regex[pattern='(?:application/javascript|text/css|text/html|text/xml|application/json)(;.*)?’, value=%{o,Content-Type}, full-match=true]»/>
</host>
</server>
<servlet-container name=»default»>
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name=»welcome-content» path=»${jboss.home.dir}/welcome-content»/>
</handlers>
<filters>
<response-header name=»server-header» header-name=»Server» header-value=»WildFly/10″/>
<response-header name=»x-powered-by-header» header-name=»X-Powered-By» header-value=»Undertow/1″/>
<gzip name=»gzipFilter»/>
</filters>
</subsystem>

 

de AnthoServ Publicado en Wildfly

Insert a partir de un select Postgresql

Permite insertar varios registros a una tabla mediante una consulta de otras tablas  de una base de datos determinada

INSERT INTO tblA 
 (SELECT id, time 
    FROM tblB 
   WHERE time > 1000)  

Ejemplo

INSERT INTO transporte.tgen_socio_vehiculo 
(soc_id,veh_id,svh_numero_vehiculo,svh_placa_vehiculo,
svh_tipo_vehiculo,des_ejecucion) SELECT (vehiculo.soc_id),
(vehiculo.veh_id),(vehiculo.veh_numero),(vehiculo.veh_placa),
(vehiculo.veh_tipo_bus),'ACTIVO'  
from manzanilla.tgen_vehiculo vehiculo where vehiculo.emp_id=89;

 

 

de AnthoServ Publicado en Java

PostgreSQL REPLACE function

A veces, desea buscar y reemplazar una cadena en una columna por una nueva como reemplazar números de teléfono obsoletos, URL rotas y errores ortográficos.

Para buscar y reemplazar todas las apariciones de una cadena con una nueva, utiliza la función REPLACE ().

A continuación, se muestra la sintaxis de la función REPLACE () de PostgreSQL:

UPDATE
   table_name
SET
   column_name = REPLACE(column,old_text,new_text)
WHERE
   condition
Ejemplo:
UPDATE 
  cuentascyp.tcta_cuenta_cobrar_pagar
SET 
  ccp_observacion = REPLACE(ccp_observacion,'null','')
WHERE 
  ccp_observacion like '%null%';
Referencia.
de AnthoServ Publicado en Java

Primefaces ColumnToggler no funciona con la paginación

El problema es draggableColumns = «true» hace que el índice de columnas cambie. Entonces, en lugar de list, utilicé 2 mapas:

private final Map<String, Boolean> colVisibilityMap = new HashMap<>();
private final Map<Integer, String> colIndexMap = new HashMap<>();

Durante la inicialización, configuré colIndexMap y colVisibilityMap (y utilicé id / clientId como clave). En la columna de reordenar, actualizo colIndexMap. Y al alternar, actualizo la base colVisibilityMap en colIndexMap.

public Map<String, Boolean> getColVisibilityMap() {
    return Collections.unmodifiableMap(colVisibilityMap);
}

private String getColumnId(String fullId) {
    String[] idParts = fullId.split(":");
    return idParts[idParts.length - 1];
}

@PostConstruct
public void init() {
    FacesContext context = FacesContext.getCurrentInstance();
    DataTable table = (DataTable) context.getViewRoot().findComponent
(":form:tableid");
    List<UIColumn> columns = table.getColumns();
    for (int i = 0; i < columns.size(); i++) {
        final String columnId = this.getColumnId(columns.get(i).getClientId());
        colIndexMap.put(i, columnId);
        colVisibilityMap.put(columnId, true);
    });
}

public void onColumnReorder(AjaxBehaviorEvent e) {
    List<UIColumn> columns = ((DataTable) e.getSource()).getColumns();
    for (int i = 0; i < columns.size(); i++) {
        this.colIndexMap.put(i, this.getColumnId(columns.get(i).getClientId()));
    }
}

public void onToggle(ToggleEvent e) {
    // If we use list here, e.getData() may not be the correct index due 
to column reordering.
    this.colVisibilityMap.put(this.colIndexMap.get((Integer) e.getData()),
 e.getVisibility() 
== Visibility.VISIBLE);
}

JSF página:

<p:dataTable id="tableid" widgetVar="tableWidgetVar" draggableColumns="true" 
paginator="true"
<!-- ommitted other attributes -->
>
    <p:ajax event="colReorder" listener="#{bean.onColumnReorder}"/>
    <f:facet name="header">
        <p:commandButton id="toggler" type="button" value="Columns"/>
        <p:columnToggler datasource="tableid" trigger="toggler">
            <p:ajax event="toggle" listener="#{bean.onToggle}"/>
        </p:columnToggler>
    </f:facet>
    <p:column id="col1" visible="#{bean.colVisibilityMap['col1']}">
        <!-- ommitted -->
    </p:column>
    <p:column id="col2" visible="#{bean.colVisibilityMap['col2']}">
        <!-- ommitted -->
    </p:column>
    <!-- and so on... -->
</p:dataTable>

Referencia:

https://stackoverflow.com/questions/29817830/primefaces-columntoggler-doesnt-work-with-pagination

de AnthoServ Publicado en Java

Monitorizar los logs en la consola en tiempo real

Para monitorizar los logs en la consola, utilizaremos el comando tail. Este comando muestra las últimas líneas de uno o más archivos de texto (por defecto las diez últimas), pero con la opción -f, en lugar de mostrar las últimas diez líneas y terminar, tail seguirá activo y conforme se añadan nuevas líneas al fichero las imprimirá, lo que es muy útil para monitorizar archivos.

Para monitorizar los logs en la consola, por ejemplo el archivo /var/log/wildfly/console.log, haremos lo siguiente:

$ tail -f /var/log/wildfly/console.log
de AnthoServ Publicado en Java

HARDENING SERVIDORES

Hora vamos a hablar de un tema muy importante en la seguridad de nuestros servidores linux. El mantener una infraestructura informática segura y al margen de atacantes siempre es una tarea complicada. Son muchos los aspectos a tener en cuenta. A los diferentes dispositivos en un entorno en red hay que añadirle la heterogeneidad de los sistemas operativos que la componen y los servicios prestados.

Para lo cual en este tutorial, veremos algunas aplicaciones y técnicas desde distintos criterios, que servirán para fortalecer la seguridad de nuestros servidores linux

  1. DENEGAR ACCESO AL SERVIDOR POR   INTENTOS FALLIDOS

Para esta técnica, utilizaremos la herramienta denyhosts que se encuentra en los repositorios de Debian, para instalarlo ejecutamos:

# apt-get install denyhosts

Una vez instalada la herramienta, procedemos a ajustar la configuración de la aplicación que está en/etc/denyhosts.conf.

##### THESE SETTINGS ARE REQUIRED #####

SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 1w
BLOCK_SERVICE = ALL
DENY_THRESHOLD_INVALID = 3
DENY_THRESHOLD_VALID = 3
DENY_THRESHOLD_ROOT = 2
DENY_THRESHOLD_RESTRICTED = 2
WORK_DIR = /home/sec/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid

##### THESE SETTINGS ARE OPTIONAL #####
ADMIN_EMAIL = diego.donoso@caminosca-sa.com
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=root
#SMTP_PASSWORD=rootpass
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report
SYSLOG_REPORT=YES

AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d

##### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE #####
DAEMON_LOG = /home/sec/denyhosts/denyhosts.log
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h

Con esta configuración lo que hemos hecho es bloquear a un host determinado al tercer intento fallido de logueo al servidor por cualquier puerto o servicio, con cualquier usuario existente o inexistente, desbloqueandolo después de 1 semana. Una vez que se hayan ajustado los cambios deseados, se debe reiniciar el servicio denyhost:

# /etc/init.d/denyhosts restart

[ ok ] Stopping DenyHosts: denyhosts.

[ ok ] Starting DenyHosts: denyhosts.

DBeaver gestor de base de datos

DBeaver es un gestor de base de datos universal, es decir, es independiente del servidor de base de datos que tengamos instalado. DBeaver puede conectarse a distintos servidores usando diferentes drivers JDBC que le permiten operar con una gran variedad de base de datos como por ejemplo MySql, Orcale, IBM DB2, PostgreSQL, Sqlite, etc.

Ademas es muy fácil de usar y generar los scripts y consultas de la mejor manera  mas rápido que cualquier otro gestos de base de datos.

Características de DBeaver

  • gestión de diagramas ER
  • exploración de datos
  • ejecución de scripts SQL
  • exportación de datos
  • manejo de proyectos permitiendo agrupar lógicamente conexiones, scripts, etc.
  • editor de metadatos de tablas, key, campos índices, etc.

Pagina oficial para descargar Dbeaver

https://dbeaver.jkiss.org/download/

 

 

de AnthoServ Publicado en Java

Consumo de Web Services SRI

Les comparto  un tutorial realizado por Cristhian Carreño como realizar la firma y el consumo del web Service del SRI muy bueno.

 «Este tutorial se lo dedico a aquellas personas en el medio, que se valen del conocimiento de otras personas, pero cuando les toca aportar con algo de lo que han aprendido se niegan y lo que es peor quieran cobrarle por consultoría a sus colegas. Esto me parece el acto más egoísta y retrograda, y no deja que nuestro país se desarrolle como debe. Esto debido que después de leer mucho foros, cada vez que alguno solucionaba algo, intentaba cobrarle al otro por lo aprendido.

El conocimiento debe ser libre, más aún si estos seudos desarrolladores, siempre se benefician del código que resolvieron otras personas en foros y tutoriales en línea. «

 

Firma Digital

http://webcarreno.org/index.php/tutorials/28-sri-tutorial/24-sri-firma-digital-xades-bes

Envió de comprobantes al SRI

http://webcarreno.org/index.php/tutorials/28-sri-tutorial/25-consumo-de-web-services-sri-envio-de-comprobantes.

Recepción de comprobantes

http://webcarreno.org/index.php/tutorials/28-sri-tutorial/27-consumo-de-web-services-sri-envio-de-y-recepcion-de-autorizacion

de AnthoServ Publicado en Java

No se puede ver en la consola del servidor JBOSS EAP 6.1 el System.out.println (Solución)

microcont_icon_b_256x
Para resolver el problema que existe en el Servidor JBOSS EAP 6.1 donde no se imprime el System.out.println en la consola para ello se configura lo siguiente:
  • Se ingresa  al bin de la carpeta del servidor de Jboss    /jboss-eap/bin
  • Abrimos el archivo standalone.conf que se encuentra en la carpeta bin
  • Copiamos la siguiente linea  JAVA_OPTS=»$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false»
  • Reiniciamos el servidor y listo!!
de AnthoServ Publicado en Java