Installare Oracle Java8 in Ubuntu 17.10

Installazione:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Per impostare Oracle java8 come default:
sudo apt-get install oracle-java8-set-default

Per rimuovere Oracle java8 come default:
sudo apt-get install –no-install-recommends oracle-java8-installer

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Problema Java – DatagramSocket tiene allocato il socket

Mi è capitato di scrivere del codice che scrive/legge da socket di rete ed ho riscontrato un baco (per me è un baco) che mi ha fatto perdere un sacco di tempo, il mio codice era simile a questo:

DatagramSocket s = new DatagramSocket(7777);
InetAddress indirizzo = s.getLocalAddress();
byte[] buf = new byte[65536];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
s.close

Sostanzialmente la prima riga crea un socket e fa il bind sulla porta locale 777 (prima riga in grassetto) poi il codice continua e aspetta dalla rete qualcosa (s.receive) e alla fine chiude e dealloca tutto (s.close). Il problema che ho riscontrato è che lui non deallocava un bel niente e rilanciando l’applicazione non riusciva più a fare il bind perchè rimaneva allocato dal giro di prima. Cercando in giro in internet ho risolto cambiando la prima riga così:

s = new DatagramSocket(null);
s.setReuseAddress(true);
s.bind(new InetSocketAddress(7777));

Sostanzialmente inizializza il socket a null poi fa il bind a mano. In questo caso quando fa la close (s.close) rilascia correttamente il socket a livello sistema operativo.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

SuperWebService

SuperWebservice è un web service che permette di implementare chiamate sql a database o a funzioni di sistema.  E’ possibile implementare i propri servizi web tramite semplici file di configurazione.
Ogni configurazione viene chiamata da protocollo HTTP o socket diretto e contiene comandi SQL, il risultato verrà ritrasmesso al client formattato come definito nella configurazione stessa (json, xml, csv etc).

E’ la soluzione ideale per esporre al mondo Internet servizi e informazioni residenti in AS400 (e non solo). Con il plugin sarà possibile effettuare:
– Scambio di informazioni tra il proprio ERP e il mondo WEB
– Effettuare chiamate a programmi o a comandi di sistema tramite chiamate WEB
– Aggiornare la base dati AS400 e non solo

Caratteristiche di Super WEB Service
– Multipiattaforma
– Permette l’interoperabilità tra AS400 e il WEB
– Utilizza standard e protocolli “open”: integrabili con qualsiasi piattaforma WEB
– Uso di HTTPS per il trasporto dei messaggi non necessita che vengano integrati firewall
– Può essere utilizzato per fornire in modo semplice servizi WEB “integrati” e complessi
– Protocolli e formati supportati e gestiti: XML, JSON, CSV, SOAP e HTTP

Maggiori informazioni al sito http://www.thundersystems.it/it/news/web-service-as400-web/

SuperWebService

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Versione Professional del software di invio mail da AS400 e non solo…

Lieto di annunciare la versione PRO di questa utility, in realtà sta diventando una vera e propria applicazione. Oltre alla correzione di alcuni piccoli bug con la nuova versione sarà possibile avere un log di tutte le mail inviate con l’esito,  ma soprattutto sarà possibile fare un controllo dell’indirizzo di destinazione sia a livello di sintassi (indirizzo ben formato) che con controllo in tempo reale dell’esistenza del dominio di destinazione tramite i servizi DNS. Il programma prima di inviare la mail controlla l’esistenza e invia effettivamente quando tutti i controllo sono andati a buon fine. In caso negativo oltre ad avere nel log la segnalazione se il lancio avviene in ambiente AS400 sarà possibile monitorare per ogni singola mail l’effettivo stato di invio. La versione STANDARD è scaricabile nella sezione download

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Una mia intervista….

Dario Banfi (http://www.dariobanfi.it/) ha pubblicato una mia intervista su corriere comunicazioni. Se siete interessati potete leggerla a questo indirizzo:

http://www.corrierecomunicazioni.it/tlc/27970_java-l-esperanto-che-continua-a-fare-proseliti.htm

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Invio Mail da AS400 (e non solo)

Sono stati aggiornati i programmi di invio mail. Nella sezione download   potete scaricarli liberamente:

Con questi programmi potete inviare mail da riga comando in modo semplice da qualsiasi piattaforma.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

ireport (e java) – concatenare un campo String con un numero editato

Se capita di dover concatenare un campo di testo (tipicamente String) con un numero (BigDecimal) in iReport, ma anche in java puro facendo uno più l’altro viene fuori una stringa illeggibile tipo:

“Importo=00001000.0000000”, ottenuto facendo “Importo=”+NOMECAMPO

ma facendo:

“Importo=”+new DecimalFormat(“#0.##”).format(NOMECAMPO)

si ottiene qualcosa tipo: Importo=1000.00

E’ chiaramente possibile cambiera la maschera di editazione.

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Jasper Report (e java)- Confrontare due campi BigDecimal

Per eseguirre il confronto tra due campi di tipo BigDecimal usare la seguente formula:

new Boolean(CAMPO1.compareTo(CAMPO2) != 0)

Se dovete testare se il campo è uguale a zero allora:

new Boolean(CAMPO_DA_TESTARE.compareTo(BigDecimal.ZERO) != 0)

In alternativa si può usare il linguaggio Groovy come sintassi.

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi