如何使露天的以下代码正常工作?

编程入门 行业动态 更新时间:2024-10-13 14:29:10
本文介绍了如何使露天的以下代码正常工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我已经在Alfresco中创建了一个名称为CreateUserHandler的类,以便为电子邮件地址生成用户名和随机密码.我对此感到异常.请有人帮助我...

I have created a class by the name CreateUserHandler in Alfresco in order to generate the username and random password for an email address. I am getting exception in this..Please someone help me with this...

public class CreateUserHandler { private static Logger logger = LoggerFactory.getLogger(CreateUserHandler.class); private NodeService nodeService = getServiceRegistry().getNodeService(); private PersonService personService = getServiceRegistry() .getPersonService(); private ActionService actionService = getServiceRegistry() .getActionService(); private SearchService searchService = getServiceRegistry() .getSearchService(); private PolicyComponent eventManager; private ServiceRegistry serviceRegistry; //private String userName; public void setServiceRegistry(ServiceRegistry serviceRegistry) { this.serviceRegistry = serviceRegistry; } private ServiceRegistry getServiceRegistry() { // TODO Auto-generated method stub return null; } public void setPolicyComponent(PolicyComponent policyComponent) { this.eventManager = policyComponent; } public void registerEventHandlers() { eventManager.bindClassBehaviour( NodeServicePolicies.OnCreateNodePolicy.QNAME, ContentModel.TYPE_USER, new JavaBehaviour(this, "onaddUser", Behaviour.NotificationFrequency.EVERY_EVENT)); } protected String userName = null; protected String password = null; /** * Get user password * @return user password */ public String getPassword() { return password; } /** * Set user password * @param password user password */ public void setPassword(String password) { this.password = password; } public void onaddUser(ChildAssociationRef parentChildAssocRef) { //new PersonService().setPersonProperties(userName, properties); System.out.println("Creation of user successfully completed"); //NodeRef userNodeRef; // String sTempUserName = this.userName; NodeRef person = null; String username = (String) serviceRegistry.getNodeService().getProperty(person,ContentModel.PROP_USERNAME); System.out.println("Username got :" + username); if (personService.personExists(username)) { //NodeRef person = personService.getPerson(sTempUserName); person = personService.getPerson(username); String address = (String) nodeService.getProperty(person, ContentModel.PROP_EMAIL); if (address != null && address.length() != 0) { // recipients.add(address); System.out.println("Email Address is :" + address); String newPassword = Password.generatePassword(); char[] cadChars = new char[newPassword.length()]; for (int i=0; i<newPassword.length(); i++) { cadChars[i] = newPassword.charAt(i); } // Save new password serviceRegistry.getAuthenticationService().setAuthentication(username, newPassword.toCharArray()); // Save new password setPassword(newPassword); System.out.println("Password is :" + newPassword); } } } }

我还附加了空指针异常的日志堆栈跟踪:

I an also attaching the log stack-trace of null-pointer exception:

Nov 10, 2016 4:46:33 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.alfresco.repo.webdav.WebDAVSessionListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.eisenvault.autoMailgenerate.createUserHandler' defined in class path resource [alfresco/module/demoact1-repo/context/service-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.eisenvault.autoMailgenerate.CreateUserHandler]: Constructor threw exception; nested exception is java.lang.NullPointerException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1038) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:984) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:633) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.eisenvault.autoMailgenerate.CreateUserHandler]: Constructor threw exception; nested exception is java.lang.NullPointerException at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1031) ... 23 more Caused by: java.lang.NullPointerException at com.eisenvault.autoMailgenerate.CreateUserHandler.<init>(CreateUserHandler.java:30) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 25 more

推荐答案

这可能是由于

private ServiceRegistry getServiceRegistry() { // TODO Auto-generated method stub return null; }

private PersonService personService = getServiceRegistry() .getPersonService();

结果是抛出了NPE.

更多推荐

如何使露天的以下代码正常工作?

本文发布于:2023-11-28 13:40:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1642634.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:露天   代码   工作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!