The Energy Detective Forums
General Category => Developer Support => Topic started by: TedDev on June 24, 2011, 10:32:14 PM
-
Energy, Inc. is very pleased to introduce AggreData an open-source data platform that will allow a user(s) to aggregate energy-data from a single/multiple/group/mass of TEDs.
Features include:
- Designed to receive data via the TED5000 3rd party post feature
- Allows users to create groups of TED5000's and optionally share that data with other AggreData users
- User Dashboard can be configured to group multiple TED5000's together for simultaneous viewing
- Will show Minute, Hour, Daily, Monthly graphs energy and cost graphs for individual MTU's and NET Consumption
- Can run on any Java Servlet Container (Jetty, Tomcat, JBOSS, etc)
- Stores data in a MySQL database
- Open Source (GPLv3) license. Source code is currently available here: http://code.google.com/p/aggredata
We are currently running a limited beta for AggreData. More information is available here: http://www.theenergydetectiveforums.com/index.php/topic,1128.0.html
-
In what data format(s) will the RESTful API feature return data (xml, json, etc.)? Will it allow developers the freedom to choose which framework they develop their application in or is it tied to the GWT? What security methods will it use to authenticate users of third party sites? My company is interested in building an application that would our clients to remotely monitor (via the web) on and off-grid power systems. I'm trying to figure out if the TED system would allow us to do this with minimal hardware configuration. Basically we'd like to plug it in and have access to the data.
Thanks,
Tristan Smith
-
In what data format(s) will the RESTful API feature return data (xml, json, etc.)? Will it allow developers the freedom to choose which framework they develop their application in or is it tied to the GWT? What security methods will it use to authenticate users of third party sites? My company is interested in building an application that would our clients to remotely monitor (via the web) on and off-grid power systems. I'm trying to figure out if the TED system would allow us to do this with minimal hardware configuration. Basically we'd like to plug it in and have access to the data.
The current design for the RESTful API supports both XML and JSON (different calls depending on the data format being used). 3rd party developers can use whatever framework they like to interface w/ the API. The GWT portion of the application will be the default GUI for AggreData (administration screens, default user screens, etc) but the design encapsulates the server and client side of the application so anyone can write their own UI that interfaces w/ the back-end API (3rd parties won't be tied to GWT).
3rd party authentication is done via permission granted/revoked by the user via GUID keys. In other words, each 3rd party application will be granted its own unique key to authenticate per user (much like Twitter, Facebook, and Flickr use today). This gives power to the end user to allow or revoke a 3rd party application from accessing their data on the server.
-
I would like to purchase a 5002-G to test an application my company is building. If I purchase today, when will we be able to start posting and retrieving (via your api) data with the AggreData system? Will this functionality require a firmware update? Also, when do you think the AggreData API will be available to developers?
Thanks,
Tristan Smith
-
Will AggreData give developers remote access to all of the data currently available in the TED 5000 api (all data in LiveData.xml and other files)? In other words, will developers have access to current power/voltage/spending etc, Minute/Hourly/Daily/Monthly history and Load Profile History?
Thanks,
Tristan Smith
-
Yes and no. Only data available via 3rd party post will be available in AggreData. That being said, a lot of the values we provide in LiveData.xml are derived from that and will be available in AggreData (things like Projected Usage, Average Usage, Usage since Midnight, Minute, Hourly, Daily, Monthly History, etc).
What won't be available is the "Now" values that are displayed on the dashboard (usage this second, second history, etc). We don't support posting more frequently because it would cause too much overhead on both the TED5000 device AND require much more server bandwidth to accept feeds that update that frequently. Load Profile would also not be available.
As of right now, Voltage won't be available but we are looking into adding that to 3rd party posting and would become available in AggreData after that.
-
So basically developers will be able to get generation and usage readings delayed by a minute or so? For our application a 1 minute delay is acceptable as long as we can get close to real-time values. I'm assuming the api will allow developers to filter by date; so, for example, I could request all solar generation readings for the last month, year, etc? Will developers also have the ability to control the sample rates for historical data (e.g. would I be able to get all solar generation readings in 10 minute intervals for today)?
Voltage would also be useful for our app as we would like to monitor voltage levels on battery banks and inverter output for off-grid systems. Is it likely voltage will be included in the fall beta release?
Thanks,
Tristan Smith
-
You will be able to query ranges of dates and do intervals as well. From a database standpoint, each minute of data will be stored and we'll be able to specify an interval in minutes (10, 15, 60, 1440, etc). Another thing to note, is that we will release the source code for this, so the app can be modified to do any sort of query against the database you like.
-
I setup AggreData, it worked beautifully, Then in the TED5000 I changed to a different provider for testing. Now when I switch back to AggreData I get a message that says error retrieving activation data, pls contact 3rd supplier.
Any suggestions.
- Steve
-
I have been using AggreData for awhile now and find it useful to be the automatic "archive" of my minute and hourly historical data. Otherwise, I would have to run a scheduled script to download the data off of the gateway before it was truncated.
I would like AggreData export option to include a wider date selection for the data though... Currently I can only export minute data a day at a time... How about a month of minute data at a time? Then it would be a truly more useful tool for supporting energy database work. :-)
Also, will there be plans in the future to allow public access to any of the AggreData displays?
Thanks in advance...
pasayten
-
I'm getting 403's when I attempt to activate my TED 5000 with http://aggredata.theenergydetective.com/aggredata/activate. Is this a known issue?
-
Hello jbebel,
Aggredata beta is not currently accepting any new testers.
Best Regards,
TED Forum Support
-
Perhaps I was't clear. I already have an aggredata account. I was posting data to it a couple days ago. I temporarily deactivated posting from my TED, and now I can't re-activate it because aggredata is returning an error 403. From another thread, it looks like this is a common problem to not be able to reactivate posting after deactivating it. I also can't delete the gateway currently listed in order to re-add it.
-
I've tried building and deploying this on a tomcat server.. I've got somewhere.. Ive built it and reading the README.txt I've created the DB.. .
I get a large # of errors and it just does not appear to work locally on my tomcat server, nor in Eclipse..
Is this the correct forum?..
Here is my console dump for what it's worth.. 3 issues I see..
1) can't find the log4j.xml file.. I've followed the readme and it does not appear to work.. I've placed it most everywhere i think it might find it but no joy
2) it cant find aggredata.properties which is probably a bigger deal..
3) it's blowing up with a null pointer when I submit for a new user..
See Below
Jul 26, 2013 5:06:07 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\MyProgramFiles\Java\jdk1.6.0_26\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/MyProgramFiles/eclipse.juno/jre/bin/server;C:/MyProgramFiles/eclipse.juno/jre/bin;C:/MyProgramFiles/eclipse.juno/jre/lib/amd64;c:\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\MyProgramFiles\Maven\apache-maven-3.0.3\bin;C:\MyProgramFiles\cygwin\bin;c:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files\TortoiseSVN\bin;c:\users\cjutzi\aws\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;c:\cygwin\bin;;C:\MyProgramFiles\eclipse.juno;;.
Jul 26, 2013 5:06:07 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:aggredata' did not find a matching property.
Jul 26, 2013 5:06:07 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jul 26, 2013 5:06:07 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 749 ms
Jul 26, 2013 5:06:07 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jul 26, 2013 5:06:07 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Jul 26, 2013 5:06:08 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Users\cjutzi\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\aggredata\WEB-INF\lib\gwt-user-2.4.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jul 26, 2013 5:06:08 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Users\cjutzi\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\aggredata\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jul 26, 2013 5:06:08 PM org.apache.catalina.core.ApplicationContext log
INFO: Set web app root system property: 'webapp.root' = [C:\Users\cjutzi\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\aggredata\]
Jul 26, 2013 5:06:08 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from [file:aggredata.log4j.xml]
log4j:ERROR Could not parse url [file:aggredata.log4j.xml].
java.io.FileNotFoundException: aggredata.log4j.xml (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:772)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)
at org.apache.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:612)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:711)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618)
at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:743)
at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:69)
at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:151)
at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Jul 26, 2013 5:06:08 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
WARN PropertyPlaceholderConfigurer - Could not load properties from URL [file:aggredata.properties]: aggredata.properties (The system cannot find the file specified)
WARN BoneCPConfig - Please use setIdleConnectionTestPeriodInMinutes in place of setIdleConnectionTestPeriod. This method has been deprecated.
WARN BoneCPConfig - Please use setIdleMaxAgeInMinutes in place of setIdleMaxAge. This method has been deprecated.
Jul 26, 2013 5:06:10 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jul 26, 2013 5:06:10 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 26, 2013 5:06:10 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17 config=null
Jul 26, 2013 5:06:10 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2748 ms
INFO UserSessionServiceImpl - Looking up user session
INFO UserSessionServiceImpl - Looking up user session
INFO UserSessionServiceImpl - No user found in session
INFO UserSessionServiceImpl - No user found in session
DEBUG UserServiceImpl - Looking up user with username curtXXXXXX@XXXhu.com
DEBUG UserServiceImpl - Looking up user with username curtXXXXXX@XXXhu.com
DEBUG UserDAO - looking up user object for username curtXXXXXX@XXXhu.com
DEBUG UserDAO - looking up user object for username curtXXXXXX@XXXhu.com
DEBUG UserServiceImpl - Checking user configuration for User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserServiceImpl - Checking user configuration for User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG GroupServiceImpl - Returning all groups for the user User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG GroupServiceImpl - Returning all groups for the user User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
INFO UserSessionServiceImpl - Creating new user User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:null}
INFO UserSessionServiceImpl - Creating new user User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:null}
DEBUG UserServiceImpl - creating user User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserServiceImpl - creating user User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserDAO - User already exists. Skipping create. user=User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserDAO - User already exists. Skipping create. user=User{id:null, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserDAO - looking up user object for username curXXXX@xxhu.com
DEBUG UserDAO - looking up user object for username curXXXX@xxhu.com
DEBUG UserServiceImpl - Checking user configuration for User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserServiceImpl - Checking user configuration for User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG GroupServiceImpl - Returning all groups for the user User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG GroupServiceImpl - Returning all groups for the user User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserServiceImpl - Changing user's password
DEBUG UserServiceImpl - Changing user's password
DEBUG UserDAO - Saving user User{id:2, curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserDAO - Saving user User{id:2, curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
INFO EmailServiceImpl - Send Activation email requested for User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
INFO EmailServiceImpl - Send Activation email requested for User{id:2, username:curXXXX@xxhu.com, defaultGroupId:0, role:ROLE_USER}
INFO UserServiceImpl - Saving user information
INFO UserServiceImpl - Saving user information
DEBUG UserDAO - Saving user User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
DEBUG UserDAO - Saving user User{id:2, username:curtXXXXXX@XXXhu.com, defaultGroupId:0, role:ROLE_USER}
Jul 26, 2013 5:07:05 PM org.apache.catalina.core.ApplicationContext log
SEVERE: Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract int com.ted.aggredata.client.guiService.UserSessionService.validateCaptcha(java.lang.String,java.lang.String,java.lang.String,com.ted.aggredata.model.User)' threw an unexpected exception: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect; message exceptions (1) are:
Failed message 1: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect; message exceptions (1) are:
Failed message 1: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:400)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:355)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:344)
at com.ted.aggredata.server.services.impl.EmailServiceImpl.sendActivationEmail(EmailServiceImpl.java:124)
at com.ted.aggredata.server.guiServiceImpl.UserSessionServiceImpl.validateCaptcha(UserSessionServiceImpl.java:182)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
... 38 more
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
at javax.mail.Service.connect(Service.java:295)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389)
... 48 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
... 51 more