Для школы я делаю этот сайт, похожий на твиттер. Теперь у меня есть исключение nullpointer для более 2 дней. Мне нужна помощь по следующей ошибке:
java.lang.NullPointerException
java.lang.NullPointerException в
javassist.util.proxy.RuntimeSupport $ DefaultMethodHandler.invoke (RuntimeSupport.java:37)
в
org.javassist.tmp.java.lang.Object _ $$ _ javassist_587.findAll (Object _ $$ _ javassist_587.java)
в
bean.KwetterBean.Followers (KwetterBean.java:218)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
org.jboss.weld.util.reflection.SecureReflections $ 13.work (SecureReflections.java:304)
в
org.jboss.weld.util.reflection.SecureReflectionAccess.run (SecureReflectionAccess.java:54)
в
org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation (SecureReflectionAccess.java:163)
в
org.jboss.weld.util.reflection.SecureReflections.invoke (SecureReflections.java:298)
в
org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke (ClientProxyMethodHandler.java:113)
в
org.jboss.weld.util.CleanableMethodHandler.invoke (CleanableMethodHandler.java:43)
в
bean.KwetterBean _ $$ _ javassist_593.Followers (KwetterBean _ $$ _ javassist_593.java)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
javax.el.BeanELResolver.invokeMethod (BeanELResolver.java:737)
в
javax.el.BeanELResolver.invoke (BeanELResolver.java:467)
в
javax.el.CompositeELResolver.invoke (CompositeELResolver.java:246)
в
com.sun.el.parser.AstValue.getValue (AstValue.java:111)
в
com.sun.el.parser.AstValue.getValue (AstValue.java:163)
в
com.sun.el.ValueExpressionImpl.getValue (ValueExpressionImpl.java:219)
в
org.jboss.weld.el.WeldValueExpression.getValue (WeldValueExpression.java:71)
в
com.sun.faces.facelets.el.ELText $ ELTextVariable.writeText (ELText.java:217)
в
com.sun.faces.facelets.compiler.TextInstruction.write (TextInstruction.java:78)
в
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin (UIInstructions.java:75)
в
com.sun.faces.facelets.compiler.UILeaf.encodeAll (UILeaf.java:176)
в
javax.faces.component.UIComponent.encodeAll (UIComponent.java:1616)
в
javax.faces.component.UIComponent.encodeAll (UIComponent.java:1616)
в
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView (FaceletViewHandlingStrategy.java:380)
в
com.sun.faces.application.view.MultiViewHandler.renderView (MultiViewHandler.java:126)
в
javax.faces.application.ViewHandlerWrapper.renderView (ViewHandlerWrapper.java:273)
в
com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:127)
в
com.sun.faces.lifecycle.Phase.doPhase (Phase.java:101)
в
com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139)
в
javax.faces.webapp.FacesServlet.service (FacesServlet.java:313)
в
org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1523)
в
org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:279)
в
org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:188)
в
org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:641)
в
com.sun.enterprise.web.WebPipeline.invoke (WebPipeline.java:97)
вcom.sun.enterprise.web.PESessionLockingStandardPipeline.invoke (PESessionLockingStandardPipeline.java:85) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:185) в org.aperservice.cat.CoyoteAdapter.java:325) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:226) в com.sun.enterprise.v3.services.impl.ContainerMapper.service (ContainerMapper.java:165) в com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:791) в com.sun.grizzly.http.ProcessorTask.doProcess (ProcessorTask.java:693) в com.sun.grizzly.http.ProcessorTasor.process (.java: 954) по адресу com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:170) по адресу com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:135) по адресу com.sun.grizzlyin.выполнить (DefaultProtocolChain.java:102) в com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:88) в com.sun.grizzly.http.HttpProtocolChain.execute (HttpProtocolChain.java:76) по адресу com.sun.grizzly..sun.grizzly.ContextTask.run (ContextTask.java:69) в com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java:330) в com.sun.grizzly.util.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:309) на java.lang.Thread.run (Thread.java:619)
Теперь участвуют классы:
KwetterBean.java
/ * * Чтобы изменить этот шаблон, выберите Инструменты |Шаблоны * и откройте шаблон в редакторе.* / package bean;
import domain. *;импорт java.io.Serializable;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Comparator;импорт java.util.Date;import java.util.HashMap;импорт java.util.Iterator;import java.util.LinkedHashMap;import java.util.LinkedList;import java.util.List;импорт java.util.Map;import javax.ejb.EJB;import javax.enterprise.context.SessionScoped;import javax.inject.Named;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;import javax.faces.event.AjaxBehaviorEvent;import javax.inject.Inject;
служба импорта .IUserService;
/ ** * * @author Julian * / @Named @ManagedBean @SessionScoped открытый класс KwetterBean реализует Serializable {
// DATA
@Inject private IUserService uService;
private User user;
private String newTweet;
private int newTweetLength;
private String twitterFilter;
private String trend = "";
// PROPERTIES
public int getnewTweetLength() {
return newTweetLength;
}
public User getUser() {
if (user == null) {
//user = new User("test", "test", "test");
user = uService.find(0);
}
return user;
}
public String getNewTweet() {
return newTweet;
}
public void setNewTweet(String newTweet) {
this.newTweet = newTweet;
}
public void LimitTweetLength(AjaxBehaviorEvent
событие) {newTweetLength = newTweet.length ();}
public String getTwitterFilter() {
return twitterFilter;
}
public void setTwitterFilter(String twitterFilter)
{this.twitterFilter = twitterFilter;}
public Collection<Tweet> getMentioned() {
List<Tweet> tweets = new ArrayList<Tweet>();
for (User u : uService.findAll()) {
for (Tweet t : u.getTweets()) {
String[] words = t.getTweet().split(" ");
for (String word : words) {
if (word.equals("@" + user.getName())) {
tweets.add(t);
}
}
}
}
// Custom comparator
Collections.sort(tweets, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Tweet p1 = (Tweet) o1;
Tweet p2 = (Tweet) o2;
return p2.getDatum().compareTo(p1.getDatum());
}
});
return tweets;
}
public void setTrend(String trend)
{
this.trend = trend;
}
public Collection<Tweet> getTrendTimeLine() {
List<Tweet> trendTweets = new ArrayList<Tweet>();
for (User u : uService.findAll()) {
for (Tweet t : u.getTweets()) {
String[] words = t.getTweet().split(" ");
for (String word : words) {
if(word.equals(trend))
trendTweets.add(t);
}
}
}
// Custom comparator
Collections.sort(trendTweets, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Tweet p1 = (Tweet) o1;
Tweet p2 = (Tweet) o2;
return p2.getDatum().compareTo(p1.getDatum());
}
});
return trendTweets;
}
public List<String> getTrends() {
List<String> templist = new ArrayList<String>();
HashMap<String, Integer> trends = new HashMap<String,
Integer> ();for (Пользователь u: uService.findAll ()) {for (Tweet t: u.getTweets ()) {String [] words = t.getTweet (). split ("");for (Строка word: words) {if (word.startsWith ("#")) {if (trend.containsKey (word)) {trend.put (word, trend.get (word) + 1);} else {trend.put (word, 1);}}}}} trend = (HashMap) sortByValue (trend);Итератор testiter = trend.keySet (). Iterator ();while (testiter.hasNext ()) {templist.add ((String) testiter.next ());} if (templist.size () <5) вернуть templist; </p>
return templist.subList(0, 5);
}
public Collection<Tweet> getTimelineTweets() {
if(!trend.isEmpty())
return getTrendTimeLine();
List<Tweet> tweets = new ArrayList<Tweet>();
tweets.addAll(user.getTweets());
for (User following : user.getFollowing()) {
tweets.addAll(following.getTweets());
}
if (twitterFilter != null && twitterFilter.length() > 0) {
Collection<Tweet> filteredTweets = new
ArrayList ();for (Tweet t: твиты) {if (t.getTweet (). indexOf (twitterFilter)> -1) {FilterTweets.add (t);}} return filterTweets;}
// Пользовательский компаратор
Collections.sort (твиты, новый Comparator () {
@Override
public int compare(Object o1, Object o2) {
Tweet p1 = (Tweet) o1;
Tweet p2 = (Tweet) o2;
return p2.getDatum().compareTo(p1.getDatum());
}
});
return tweets;
}
// METHODS
public void setUser(String name) {
List<User> temp = uService.findAll();
for (User u : temp) {
if (u.getName().equals(name)) {
this.user = u;
}
}
}
public void submitTweet() {
if (newTweet != null && newTweet.length() > 0) {
Tweet tweet = new Tweet(newTweet, new Date(), "PC");
user.addTweet(newTweet);
newTweet = "";
newTweetLength = 0;
}
}
public Collection<User> Followers(User user) {
List<User> tempUserList = new ArrayList<User>();
Iterator<User> iterator = uService.findAll().iterator();
while (iterator.hasNext()) {
User tempUser = iterator.next();
if (tempUser.getFollowing().contains(user))
{
tempUserList.add (tempUser);
}
}
return tempUserList;
}
public String viewUser(User user) {
trend = "";
this.user = user;
return "index.xhtml";
}
public List<String> getAllUsers() {
List<String> tempUserList = new ArrayList<String>();
Iterator<User> iterator = uService.findAll().iterator();
while (iterator.hasNext()) {
tempUserList.add(iterator.next().getName());
}
return tempUserList;
}
public String Login() {
return "login.xhtml";
}
public String Logout() {
return "index.xhtml";
}
private static Map sortByValue(Map map) {
List list = new LinkedList(map.entrySet());
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return ((Comparable) ((Map.Entry)
(o2)). ПолучитьЗначение ()). CompareTo (((Map.Entry)
(O1)) GetValue ()).
}
}); * * Тысяча сорок две
Map result = new LinkedHashMap();
for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry) it.next();
result.put(entry.getKey(), entry.getValue());
}
return result;
} }
UserServiceJPA.java
/ * * Чтобы изменить этот шаблон, выберите Сервис | Шаблоны * и открыть
Шаблон в редакторе. * /
пакет услуг;
import domain.User; Импортировать
java.util.ArrayList; Импортировать
java.util.List; Импортировать
javax.ejb.Stateful; Импортировать
javax.enterprise.inject.Alternative;
Импортировать
javax.persistence.EntityManager;
Импортировать
javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
/ ** * * @author Джулиан * / @Stateful
@ Альтернативный публичный класс
UserServiceJPA реализует IUserService
{
@PersistenceContext(unitName="Kwetter")
private EntityManager em;
@Override
public int count() {
throw new UnsupportedOperationException("Not
поддерживается пока. ");
}
public UserServiceJPA() {
initUsers();
}
public void initUsers(){
User u1 = new User("Hans","http","geboren 1");
User u2 = new User("Frank","httpF","geboren 2");
User u3 = new User("Tom","httpT","geboren 3");
User u4 = new User("Sjaak","httpS","geboren 4");
this.create(u1);
this.create(u2);
this.create(u3);
this.create(u4);
}
@Override
public void create(User user) {
em.persist(user);
}
@Override
public void edit(User user) {
User user2 = new User();
user2 = em.find(User.class, user.getId());
user2.setFollowing(user.getFollowing());
user2.setTweets(user.getTweets());
}
@Override
public User find(int id) {
User user1 = new User();
user1 = em.find(User.class, (long)id);
return user1;
}
@Override
public List<User> findAll() {
List<User> users = new ArrayList();
TypedQuery<User> query = em.createQuery("select u From User u",
User.class);
for (Пользователь user1: query.getResultList ()) {
users.add (user1);
}
return users;
}
@Override
public void remove(User user) {
em.remove(user);
}
}
В этом вышеприведенном классе я использую init только один раз, так что пользователи находятся в базе данных, но он не создает пользователей в базе данных, но создает таблицы.
Я надеюсь, что кто-нибудь покажет мне, где произошла ошибка, потому что я действительно не понимаю, что происходит.
Заранее спасибо.
Новая ошибка:
org.jboss.weld.exceptions.CreationException:
WELD-000079 Не удалось найти EJB в
JNDI: класс
org.javassist.tmp.java.io.Serializable _ $$ _ javassist_633
в
org.jboss.weld.bean.SessionBean.create (SessionBean.java:315)
в
org.jboss.weld.context.DependentContext.get (DependentContext.java:62)
в
org.jboss.weld.manager.BeanManagerImpl.getReference (BeanManagerImpl.java:709)
в
org.jboss.weld.manager.BeanManagerImpl.getReference (BeanManagerImpl.java:771)
в
org.jboss.weld.manager.BeanManagerImpl.getInjectableReference (BeanManagerImpl.java:794)
в
org.jboss.weld.injection.FieldInjectionPoint.inject (FieldInjectionPoint.java:108)
в
org.jboss.weld.util.Beans.injectBoundFields (Beans.java:790)
в
org.jboss.weld.util.Beans.injectFieldsAndInitializers (Beans.java:802)
в
org.jboss.weld.bean.ManagedBean $ ManagedBeanInjectionTarget $ 1 $ 1.proceed (ManagedBean.java:177)
в
org.glassfish.weld.services.InjectionServicesImpl.aroundInject (InjectionServicesImpl.java:130)
в
org.jboss.weld.injection.InjectionContextImpl.run (InjectionContextImpl.java:47)
в
org.jboss.weld.bean.ManagedBean $ ManagedBeanInjectionTarget $ 1.work (ManagedBean.java:171)
в
org.jboss.weld.bean.ManagedBean $ FixInjectionPoint.run (ManagedBean.java:142)
в
org.jboss.weld.bean.ManagedBean $ ManagedBeanInjectionTarget.inject (ManagedBean.java:165)
в
org.jboss.weld.bean.ManagedBean.create (ManagedBean.java:332)
в
org.jboss.weld.context.AbstractMapContext.get (AbstractMapContext.java:112)
в
org.jboss.weld.bean.proxy.ClientProxyMethodHandler.getProxiedInstance (ClientProxyMethodHandler.java:143)
в
org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke (ClientProxyMethodHandler.java:100)
в
org.jboss.weld.util.CleanableMethodHandler.invoke (CleanableMethodHandler.java:43)
в
bean.KwetterBean _ $$ _ javassist_644.getUser (KwetterBean _ $$ _ javassist_644.java)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
javax.el.BeanELResolver.getValue (BeanELResolver.java:302)
в
javax.el.CompositeELResolver.getValue (CompositeELResolver.java:175)на com.sun.faces.el.FacesCompositeELResolver.getValue (FacesCompositeELResolver.java:72) на com.sun.el.parser.AstValue.getValue (AstValue.java:116) на com.sun.el.parser.AstValue.Value.get(AstValue.java:163) в com.sun.el.ValueExpressionImpl.getValue (ValueExpressionImpl.java:219) в org.jboss.weld.el.WeldValueExpression.getValue (WeldValueExpression.java:71) в com.sun.face.facelets.el.ELText $ ELTextVariable.writeText (ELText.java:217) в com.sun.faces.facelets.el.ELText $ ELTextComposite.writeText (ELText.java:141) в com.sun.faces.facelets.compiler.TextInstruction.write (TextInstruction.java:78) в com.sun.faces.facelets.compiler.UIInstructions.encodeBegin (UIInstructions.java:75) в com.sun.faces.facelets.compiler.UILeaf.encodeAll (UILeaf.java:176) на javax.faces.component.UIComponent.encodeAll (UIComponent.java:1616) на javax.faces.component.UIComponent.encodeAll (UIComponent.java:1616) на com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)в com.sun.faces.application.view.MultiViewHandler.renderView (MultiViewHandler.java:126) в javax.faces.application.ViewHandlerWrapper.renderView (ViewHandlerWrapper.java:273) в com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127) на com.sun.faces.lifecycle.Phase.doPhase (Phase.java:101) на com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139) на javax.faces.webapp.FacesServlet.service (FacesServlet.java:313) в org.apache.catalina.core.StandardWrapper.service (StandardWrapper.java:1523) в org.apache.catalina.core.StandardWrapperValve.invoke (Standard)в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:188) в org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:641) в com.sun.enterprise.web.voebline(WebPipeline.java:97) на com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke (PESessionLockingStandardPipeline.java:85) на org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:185) в org.apache.catalina.connector.CoyoteAdapter.doService (CoyoteAdapter.java:325) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:6).sun.enterprise.v3.services.impl.ContainerMapper.service (ContainerMapper.java:165) на com.sun.grizzly.http.ProcessorTask.invokeAdapter (ProcessorTask.java:791) на com.sun.grizzly.http.ProcessorTask..doProcess (ProcessorTask.java:693) на com.sun.grizzly.http.ProcessorTask.process (ProcessorTask.java:954) на com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:170) на ком.sun.grizzly.DefaultProtocolChain.executeProtocolFilter (DefaultProtocolChain.java:135) в com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain.java:102) в com.sun.grizzly.DefaultProtocolChain.execute (DefaultProtocolChain)..sun.grizzly.http.HttpProtocolChain.execute (HttpProtocolChain.java:76) в com.sun.grizzly.ProtocolChainContextTask.doCall (ProtocolChainContextTask.java: 53) на com.sun.grizzly.SelectionKeyContextTask.call (SelectionKeyContextTask.java:57) на com.sun.grizzly.ContextTask.run (ContextTask.java:69) на com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork (AbstractThreadPool.java:330) в com.sun.grizzly.util.AbstractThreadPool $ Worker.run (AbstractThreadPool.java:309) в java.lang.Thread.run (Thread.java:619) Причина: java.lang.IllegalStateException: Ошибка при разрешении ссылки на объект сеанса для службы класса имен ejb. UserServiceJPA и jndi name java: global / Kwetter _-_ Julian / UserServiceJPA! service.IUserService в org.glassfish.weld.services.EjbServicesImpl.jsjjjj7) в org.jboss.weld.bean.SessionBean.createReference (SessionBean.java:422)в org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler. (EnterpriseBeanProxyMethodHandler.java:76) в org.jboss.weld.bean.SessionBean.create (SessionBean.java:298) ... еще 68 причин, вызванных.CommunicationException: коммуникационное исключение для SerialContext [Корневым исключением является java.lang.reflect.UndeclaredThrowableException] в com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:461) в javax.naming.InitialContext.lookup.java: 392) на javax.naming.InitialContext.lookup (InitialContext.java:392) на org.glassfish.weld.services.EjbServicesImpl.resolveEjb (EjbServicesImpl.java:110) ... еще 71 причина: java.langИсключение: 432) ... еще 74 Причина: javax.ejb.CreateException: ОШИБКА при создании сеанса с состояниемBНапример, на com.sun.ejb.containers.StatefulSessionContainer.createEJBLocalBusinessObjectImpl (StatefulSessionContainer.java:553) на com.sun.ejb.containers.BaseContainer.createEJBLocalBusinessObjectImpl (BaseContainerHBJJEJB)createEJBLocalBusinessObjectImpl (EJBLocalHomeImpl.java:113) в com.sun.ejb.containers.EJBLocalHomeInvocationHandler.invoke (EJBLocalHomeInvocationHandler.java:153) ... еще 77, вызываемых службой JavaService.service.service.service (): 52) в service.UserServiceJPA.initUsers (UserServiceJPA.java:44) в service.UserServiceJPA. (UserServiceJPA.java:35) в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) (родительский метод)..java: 39) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) в java.lang.reflect.Constructor.newInstance (Constructor.java:513) в java.lang.Class.newInstance0 (Class.java:355) в java.lang.Class.newInstance (Class.java:308) в com.sun.ejb.containers.StatefulSessionContainer._constructEJBInstance (StatefulSessionContainer.java:569) в com.sun.ejb.containers.BaseContainer.createEjbInstanceAndContext (BaseContainer.java:1616) при com.sun.ejb.containers.StatefulSessionContainer.createBeanInstance (StatefulSessionContainer.java:581) в com.sun.ejb.containers.StatefulSessionContainer.createEJBLocalBusinessObjectImpl (StatefulSessionContainer.java: 534) ... еще 80