Trouble W/ NullPointerException
nathandennis Dec 13, 2007 11:19 PMHaving trouble with a NPE. I'm sure this is something simple
jboss4.2.1
seam 2.0 +
@Stateful @Name("uploadAction") @Scope(ScopeType.SESSION) public class FileUploadAction implements FileUploadLocal{ @PersistenceContext private EntityManager em; @Out(scope=ScopeType.CONVERSATION, required=false) FtpRemote send; private String medianame; private Long size; . . . public void UploadFile() throws NullPointerException { if(!medianame.equals("")){ try{ // create empty file with specified name and path File os = new File("/var/temp/filewritetemp/"+getMediaName()); FileOutputStream oStream =new FileOutputStream(os); oStream.write(getIs()); File file = new File("/var/temp/filewritetemp/" + getMediaName()); size = file.length(); dob = new Date(); fis = new FileInputStream("/var/temp/filewritetemp/" + getMediaName()); try{ ftpFile(fis); }catch (Exception e){ e.printStackTrace(); } . . . } public void ftpFile(FileInputStream fis){ send = new FtpRemote(); send.findServer(fis); } ...
which calls
@Stateless @Name("ftpRemote") public class FtpRemote implements FtpRemoteLocal { private String login; . . . @In EntityManager em; @In(required=false) @Out(required=false) ReturnServer host; public void findServer(FileInputStream fis){ host = new ReturnServer(); ....
and it breaks just before the query
@Stateless public class ReturnServer { @In EntityManager em; private String server; private ArrayList<Server> serverlist; . . . @In(create=true) private ServerList result; public String findServer(){ queryServer(); requestServer(); return server; } @SuppressWarnings("unchecked") public void queryServer() { System.out.println("made it to -- line before QUERY"); List<Server> resultList = em.createQuery("select s from " + "Server s where s.status = 'online' order by s.usedspace desc") .setMaxResults(5).setFirstResult(0).getResultList(); System.out.println("made it to -- line after QUERY"); serverlist = new ArrayList(resultList.subList(0, resultList.size())); }
I've convinced myself that this is a fundamental misunderstanding EJB3 annotations. I'm just not sure how to fix it.
[q22:35:16,598 INFO [STDOUT] made it to -- line before QUERY 22:35:16,598 ERROR [STDERR] java.lang.NullPointerException 22:35:16,599 ERROR [STDERR] at com.dcg.action.ReturnServer.queryServer(ReturnServer.java:66) 22:35:16,599 ERROR [STDERR] at com.dcg.action.ReturnServer.findServer(ReturnServer.java:41)
any direction would be greatly appreciated.