Skip to main content

"null Deployment Error"

3 replies [Last post]
vajav
Offline
Joined: 2005-07-17

Hi,

I'm having this weird problem with glassfish...
I created 2 Entity Beans and 1 Stateless Session Bean, and when deploying I get:

Exception occured in J2EEC Phase
com.sun.enterprise.deployment.backend.IASDeploymentException: Deployment Error -- null
at oracle.toplink.essentials.platform.database.PostgreSQLPlatform.platformSpecificSequencingInitialization(PostgreSQLPlatform.java:413)
at oracle.toplink.essentials.internal.sequencing.SequencingManager.onConnect(SequencingManager.java:568)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.initializeSequencing(DatabaseSessionImpl.java:137)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:371)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:360)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:677)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:559)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:180)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:230)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:78)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:113)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:107)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:76)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.loadPersistenceUnitBundle(PersistenceProcessor.java:468)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.createTablesInDB(PersistenceProcessor.java:325)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.processAppBundle(PersistenceProcessor.java:190)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.processApplication(PersistenceProcessor.java:125)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.processApplication(DeploymentEventListenerImpl.java:193)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.processEvent(DeploymentEventListenerImpl.java:152)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.notifyDeploymentEvent(DeploymentEventListenerImpl.java:109)
at com.sun.enterprise.deployment.backend.DeploymentEventManager.notifyDeploymentEvent(DeploymentEventManager.java:66)
at com.sun.enterprise.deployment.backend.ModuleDeployer.handlePostDeployEvent(ModuleDeployer.java:689)
at com.sun.enterprise.deployment.backend.ModuleDeployer.postDeploy(ModuleDeployer.java:677)
at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:169)
at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:169)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:95)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:871)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:266)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:739)
at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:174)
at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:210)

I am using Sun Java System Aptication Server Platform Edition 9.0 with Postgresql - the Project is a Java EE 5 project

############################
Stateless Session Bean:
############################

@Stateless
public class CrawlerBean implements CrawlerRemote, CrawlerLocal {

@PersistenceContext(unitName="SAM-ejbPU")
private EntityManager em;

/** Creates a new instance of CrawlerBean */
public CrawlerBean() {
}

private String parseISToString(java.io.InputStream is){
java.io.DataInputStream din = new java.io.DataInputStream(is);
StringBuffer sb = new StringBuffer();
try{
String line = null;
while((line=din.readLine()) != null){
sb.append(line+"\n");
}
}catch(Exception ex){
ex.getMessage();
}finally{
try{
is.close();
}catch(Exception ex){}
}
return sb.toString();
}

public boolean CrawlAndSave(String uri) {
Website site = new Website();
site.setUri(uri);
Crawl crawl = new Crawl();
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
crawl.setCrawlDate(cal);
try {

URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("User-Agent","Q-Client");
con.connect();
String html = parseISToString(con.getInputStream());
crawl.setHtml(html);

em.persist(crawl);
em.persist(site);
return true;
} catch (MalformedURLException ex) {
ex.printStackTrace();
return false;
} catch (IOException ex) {
ex.printStackTrace();
return false;
}
}

public void persist(Object object) {
// TODO:
// em.persist(object);
}

}

###################
1st Entity:
###################

@Entity
public class Crawl implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@Temporal(value = TemporalType.TIMESTAMP)
private Calendar crawldate;

@Lob
private String html;

/** Creates a new instance of Crawl */
public Crawl() {
}

public void setHtml(String html) {
this.html = html;
}

public String getHtml() {
return html;
}

public Calendar getCrawlDate() {
return crawldate;
}

public void setCrawlDate(Calendar crawldate) {
this.crawldate = crawldate;
}

/**
* Lädt den id dieses Crawl.
* @return Der id
*/
public Long getId() {
return this.id;
}

/**
* Setzt den id dieses Crawl auf den angegebenen Wert.
* @param id der neue id
*/
public void setId(Long id) {
this.id = id;
}

/**
* Liefert einen Hashwert für das Objekt. Die Implementation berechnet
* a hash code value based on the id fields in this object.
* @return ein Hashwert für das Objekt this.
*/
@Override
public int hashCode() {
int hash = 0;
hash += (this.id != null ? this.id.hashCode() : 0);
return hash;
}

/**
* Entscheidet, ob ein anderes Objekt gleich this ist Crawl. Das Ergebnis ist
* true genau dann wenn das Argument nicht null ist und ein Crawl Objekt, das
* dieselben ID-Feldwerte wie das Objekt this hat.
* @param Objekt das Referenzobjekt zum Vergleich
* @return true wenn das Objekt this gleich dem Argument ist;
* false sonst.
*/
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Crawl)) {
return false;
}
Crawl other = (Crawl)object;
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) return false;
return true;
}

/**
* Liefert eine Textdarstellung des Objektes. Diese Implementation berechnet
* die Darstellung auf Basis der ID-Feldwerte.
* @return eine Textdarstellung des Objektes.
*/
@Override
public String toString() {
return "sam.core.ejb.Crawl[id=" + id + "]";
}

}

####################
2nd Entity:
####################

@Entity
public class Website implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@OneToMany @OrderBy("crawldate desc")
private List site;

/** Creates a new instance of Website */
public Website() {

}

public String getHtml() {
return site.get(0).getHtml();
}

/**
* Lädt den id dieses Website.
* @return Der id
*/
public Long getId() {
return this.id;
}

/**
* Setzt den id dieses Website auf den angegebenen Wert.
* @param id der neue id
*/
public void setId(Long id) {
this.id = id;
}

/**
* Liefert einen Hashwert für das Objekt. Die Implementation berechnet
* a hash code value based on the id fields in this object.
* @return ein Hashwert für das Objekt this.
*/
@Override
public int hashCode() {
int hash = 0;
hash += (this.id != null ? this.id.hashCode() : 0);
return hash;
}

/**
* Entscheidet, ob ein anderes Objekt gleich this ist Website. Das Ergebnis ist
* true genau dann wenn das Argument nicht null ist und ein Website Objekt, das
* dieselben ID-Feldwerte wie das Objekt this hat.
* @param Objekt das Referenzobjekt zum Vergleich
* @return true wenn das Objekt this gleich dem Argument ist;
* false sonst.
*/
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Website)) {
return false;
}
Website other = (Website)object;
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) return false;
return true;
}

/**
* Liefert eine Textdarstellung des Objektes. Diese Implementation berechnet
* die Darstellung auf Basis der ID-Feldwerte.
* @return eine Textdarstellung des Objektes.
*/
@Override
public String toString() {
return "sam.core.ejb.Website[id=" + id + "]";
}

/**
* Enthält den Wert der Eigenschaft uri.
*/
private String uri;

/**
* Abfrage für Eigenschaft uri.
* @return Wert der Eigenschaft uri.
*/
public String getUri() {
return this.uri;
}

/**
* Zuweisung für Eigenschaft uri.
* @param uri Neuer Wert der Eigenschaft uri.
*/
public void setUri(String uri) {
this.uri = uri;
}

}

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
vajav
Offline
Joined: 2005-07-17
mvatkina
Offline
Joined: 2005-04-04

Hi,

You might be able to find more details in the server.log.

Can you try 9.0 UR1 or one of the latest Glassfish V2 builds (skip b57 as it has some connector-related problems)? Several postgresql related issues had been fixed in later builds.

thanks,
-marina

vajav
Offline
Joined: 2005-07-17

I tried b56 and b50g but the admin-web-gui somehow doesn't work (404-error)

Message was edited by: vajav