Se si utilizza l'interfaccia utente amministrativa di Sun ONE Application Server con il browser predefinito dell'ambiente operativo Solaris 9 12/02, compare il seguente messaggio di errore.
Unsupported Browser: Netscape 4.78 It is recommended that you upgrade your browser to Netscape 4.79 or Netscape 6.2 (or later) to run the Sun One Application Server Administrative UI. Those who choose to continue and not upgrade may notice degraded performance or unexpected behavior. |
Soluzione: Usare /usr/dt/bin/netscape6 al posto di /usr/dt/bin/netscape.
La modifica delle ACL di Sun ONE Application Server non è supportata in alcune versioni di Netscape NavigatorTM. Se si cerca di modificare le voci della ACL mentre si utilizza Netscape Navigator versione 6.x o Netscape Navigator versione 7.x, si possono verificare problemi in alcune condizioni.
Ad esempio:
La finestra del browser scompare.
La schermata di modifica della ACL non viene visualizzata.
Soluzione: Scegliere una delle soluzioni seguenti.
Usare la versione 4.79 di Netscape Navigator oppure Microsoft Internet Explorer versione 6.0.
Modificare manualmente il file della ACL. Per maggiori informazioni sulla formattazione del file della ACL, vedere il documento Sun ONE Application Server 7 Administrator's Guide.
Se si utilizza un client Oracle 9.2 per accedere a un database Oracle 9.1, è possibile che i dati vengano danneggiati quando una colonna di numeri segue una colonna di informazioni di data e ora.
Il problema può essere causato dall'uso di un file ojdbc14.jar con un database Oracle 9.1. L'applicazione della patch può risolvere il problema sui sistemi Solaris a 32 bit che utilizzano un database Oracle 9.1. Questo driver JDBCTM va utilizzato con Oracle e JDKTM 1.4.
Soluzione: Procurarsi la patch resa disponibile da Oracle sul proprio sito Web per il problema con id 2199718 e applicarla al server.
Viene segnalato un errore del verificatore per le risorse Persistence Manager Factory create dalla riga di comando. Quando la risorsa viene visualizzata nell'interfaccia di amministrazione di Sun ONE Application Server, viene generato il seguente errore.
ArgChecker Failure: Validation failed for jndiName: object must be non-null |
Soluzione: Procedere come segue per creare una nuova risorsa Persistence Management Factory.
Creare un pool jdbc-connection con informazioni sulle fonti di dati da connettere a un database.
Creare una jdbc-resource per rendere il pool di connessione disponibile attraverso una ricerca Java Naming and Directory InterfaceTM (J.N.D.I.).
Creare una risorsa di gestione della persistenza con la jdbc-resource creata al punto 2.
Il valore any nell'attributo address dell'elemento iiop-listener del file server.xml permette di usare in ricezione tutte le interfacce disponibili sul sistema. Questo supporto riguarda sia le interfacce IPv4 che le interfacce IPv6. Tuttavia, la configurazione predefinita di Sun ONE Application Server utilizza l'indirizzo 0.0.0.0 nell'elemento iiop-listener. Questa configurazione non consente la ricezione sulle interfacce IPv6. La ricezione è abilitata solo sulle interfacce IPv4 del sistema.
Soluzione: Usare il valore :: nell'attributo address dell'elemento iiop-listener del file server.xml per configurare in ricezione tutte le interfacce IPv4 e IPv6 del sistema.
Se si cerca di riavviare Sun ONE Application Server dopo avere installato un certificato e avere abilitato la sicurezza, l'operazione non riesce. Un messaggio indica che il server non riesce a ricevere una password.
Il problema è dovuto al fatto che, quando SSL non è abilitato, le password non vengono memorizzate nella cache. Il comando restart non supporta la transizione dalla modalità non-SSL alla modalità con SSL abilitato.
Questo problema si verifica solo la prima volta che si riavvia il server. Le operazioni di riavvio successive vengono eseguite correttamente.
Soluzione: Scegliere una delle soluzioni seguenti.
Se si è verificato questo problema, fare clic sul pulsante Start.
Per evitare il problema, procedere come segue invece di premere il pulsante Restart.
Fare clic sul pulsante Stop.
Fare clic sul pulsante Start.
Se un'applicazione contiene molti componenti Enterprise JavaBeansTM, è possibile che il server vada in crash durante il caricamento dinamico dell'applicazione. La funzione di caricamento dinamico viene usata negli ambienti di sviluppo per provare velocemente le modifiche secondarie alle applicazioni. Il crash è causato dal tentativo di usare più descrittori di file di quelli disponibili.
Soluzione: Procedere come segue:
Aumentare il limite per i descrittori di file aggiungendo nuove righe, nel formato seguente, al file /etc/system.
set rlim_fd_max=8192
set rlim_fd_cur=2048
A seconda della dimensione dell'applicazione, è possibile impostare valori superiori o inferiori.
Riavviare il sistema.
Se la codifica predefinita del sistema non è UTF-8, l'output del server di applicazioni non visualizza correttamente i caratteri multibyte.
Soluzione: Aprire il file server.log nel browser.
Se si installa un certificato esterno con l'interfaccia di amministrazione di Sun ONE Application Server, si verifica un problema quando si cerca di abilitare SSL per il listener http usando il certificato installato nel modulo di cifratura esterno. Anche se l'installazione del certificato viene eseguita correttamente, lo pseudonimo del certificato non compare nell'interfaccia di amministrazione.
Soluzione: Procedere come segue.
Eseguire il login nel sistema in cui è installato Sun ONE Application Server come utente amministrativo.
Collegare il listener http al certificato installato nel modulo di cifratura esterno usando il comando asadmin. Per maggiori informazioni sul comando asadmin, vedere la pagina man asadmin(1AS).
# asadmin create-ssl --user utente_amm--password password --host nomehost \ --port porta --type http-listener --certname nobody@domapp:Cert-Server \ --instance istanza --ssl3enabled=true \ --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1 |
Il comando precedente istituisce il collegamento tra il certificato e l'istanza del server. Il comando non installa il certificato. Il certificato è stato installato attraverso l'interfaccia di amministrazione.
Anche se il certificato è collegato con il listener http, quest'ultimo opera in modalità non SSL.
Abilitare il listener http per l'uso della modalità SSL. Usare il comando seguente:
# asadmin set --user utente ammin --password password --host nome host \ --port porta server1.http-listener.http-listener-1.securityEnabled=true |
Il comando precedente cambia lo stato di ricezione dell'istanza del server da non-SSL a SSL. Dopo questa operazione, il certificato compare nell'interfaccia di amministrazione.
A questo punto è possibile usare l'interfaccia di amministrazione per modificare il listener http.
Se si utilizza il software Sun ONE Application Server incluso nell'ambiente operativo Solaris 9 12/02 e si esegue il comando flexanlg da /usr/appserver/bin, viene visualizzato un errore di apertura.
ld.so.1: /usr/appserver/bin/flexanlg: fatal: libplc4.so:open failed: No such file or directory killed |
Soluzione: Procedere come segue.
Aggiungere la voce seguente alla variabile LD_LIBRARY_PATH.
/usr/lib/mps
Eseguire il comando flexanlg.
% /usr/appserver/bin/flexanlg
Se la rete non utilizza IPv6, questo problema non si verifica.
Nella configurazione predefinita, le istanze di Sun ONE Application Server 7 e le istanze di Admin Server utilizzano IPv4. IPv4 è supportato da tutti gli ambienti operativi in cui è disponibile Sun ONE Application Server. Sulle piattaforme che supportano IPv6, la configurazione di Sun ONE Application Server deve essere modificata.
Se è richiesta la modifica della configurazione, è assolutamente necessario verificare il supporto di IPv6. Se si applica una configurazione adatta al supporto di IPv6 a un sistema che supporta solo IPv4, le istanze di Application Server non si avviano.
Soluzione: Modificare la configurazione come segue:
Avviare il server di amministrazione.
Avviare la console di amministrazione collegandosi all'host HTTP del server di amministrazione in un browser.
Selezionare l'istanza del server da configurare per IPv6, ad esempio, server1.
Espandere il nodo HTTP Listeners nella vista ad albero.
Selezionare il listener HTTP da configurare per IPv6, ad esempio, http-listener1.
Cambiare il valore del campo IP Address in ANY nella sezione General.
Nella sezione Advanced, cambiare il valore del campo Family in INET6.
L'impostazione del campo Family su INET6 non disabilita la funzionalità IPv4, a meno che non venga selezionato un indirizzo IP di tipo IPv6. L'indirizzo IP ANY è adatto sia per gli indirizzi IPv4 che per quelli IPv6.
Fare clic su Save.
Selezionare l'istanza del server nel riquadro di sinistra.
Fare clic su Apply Changes.
Fare clic su Stop.
Fare clic su Start.
Il server si riavvia e le modifiche vengono implementate.
Se si cerca di installare un'applicazione di esempio più volte dopo aver apportato piccole modifiche e avere eseguito un nuovo packaging, viene visualizzato il seguente messaggio di errore.
Already Deployed |
Questo problema riguarda tutte le applicazioni di esempio che utilizzano l'utility Ant e il file common.xml, il cui target è deploy. Questo uso combinato confonde il deployment delle applicazioni con la registrazione delle risorse.
Soluzione: Scegliere una delle soluzioni seguenti.
Per la maggior parte delle applicazioni di esempio che utilizzano l'utility Ant e i file build.xml, incluso il file common.xml, digitare il comando seguente.
% asant deploy_common |
Per tutte le altre applicazioni di esempio, digitare i comandi seguenti.
% asant undeploy % asant deploy |
L'utility Local Transaction Manager non supporta le transazioni con timeout definiti. Se si imposta l'attributo timeout-in-seconds nell'elemento transaction-service su un valore maggiore di 0, tutte le transazioni locali vengono elaborate come transazioni globali. Un valore 0 per il timeout indica che il sistema di gestione delle transazioni attenderà un tempo indefinito se non riceverà segnali da una fonte di dati partecipante.
Se il driver della fonte di dati non supporta le transazioni globali, è possibile che le transazioni locali non riescano.
Soluzione: Ripristinare il valore di timeout-in-seconds a 0.
Per usare le ottimizzazioni JDBC Oracle con i bean Container-Managed Persistence (CMP), occorre specificare classes12.zip nell'attributo classpath-suffix del file server.xml. Non collocare il file classes12.zip nella directory instance/lib/, la posizione predefinita per le librerie di terze parti.
Soluzione: Aggiungere il file classes12.zip all'attributo classpath-suffix del file server.xml.
Se il server di amministrazione è di proprietà dell'utente root e l'istanza del server è di proprietà di un altro utente, si possono verificare problemi di autorizzazioni durante il caricamento dinamico e il richiamo delle applicazioni.
Soluzione: Dopo avere eseguito e ripetuto il deployment del modulo o dell'applicazione (con o senza l'opzione di precompilazione), cambiare il proprietario della directory da root all'altro utente per le seguenti directory. L'utente non root deve essere il proprietario dell'istanza.
La modifica del proprietario delle directory deve essere applicata in modo ricorsivo a tutte le directory, in base al tipo di applicazione, sotto elencate:
root-dominio/istanza-server/applications/j2ee-apps/nome-applicazione
root-dominio/istanza-server/applications/j2ee-modules/nome-modulo
root-dominio/istanza-server/generated/ejb/j2ee-apps/nome-applicazione
root-dominio/istanza-server/generated/jsp/j2ee-apps/nome-applicazione
root-dominio/istanza-server/generated/jsp/j2ee-modules/nome-modulo
Diventare superutente.
Digitare il comando seguente per ognuna delle directory appropriate per il proprio ambiente.
# chown -R proprietario-istanza-non-root nome-directory |
Se il DNS non riesce a individuare gli indirizzi IPv6, i client RMI-IIOP (Remote Method Invocation-Internet Inter-ORB Protocol) non possono operare con gli indirizzi IPv6.
Soluzione: Per poter individuare gli indirizzi IPv6, il servizio DNS (Domain Name Service) dovrebbe essere configurato nel sito di deployment.
Se si inseriscono caratteri multibyte nel campo Only show entries with e si esegue una ricerca nel log degli eventi, il valore del campo Only show entries with non compare correttamente quando vengono visualizzati i risultati della ricerca. Il problema è causato dalla conversione del formato del messaggio da UTF-16 a UTF-8.
Soluzione: Nessuna.