我正在创建一个应用程序play 2.2.1并尝试向其添加电子邮件工具.为此我在build.sbt文件中添加了依赖项.但是获取下面的异常说明
我的代码
String smtpHost = Play.application().configuration().getString("smtp.host");
Integer smtpPort = Play.application().configuration().getInt("smtp.port");
String smtpUser = Play.application().configuration().getString("smtp.user");
String smtpPassword = Play.application().configuration().getString("smtp.password");
Email mail = new SimpleEmail();
try {
mail.setFrom("mymail@gmail.com");
mail.setSubject("hi");
mail.setMsg("This is the message");
mail.addTo("mymail2@gmail.com");
} catch (Exception e) {
e.printStackTrace();
}
mail.setHostName(smtpHost);
if (smtpPort != null && smtpPort > 1 && smtpPort < 65536) {
mail.setSmtpPort(smtpPort);
}
if (!smtpUser.isEmpty()) {
mail.setAuthentication(smtpUser, smtpPassword);
}
try {
mail.send();
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
application.conf中包含的代码
# Email Configuration
smtp.host=smtp.gmail.com
smtp.port=587 …Run Code Online (Sandbox Code Playgroud) 我正在用java构建一个应用程序Play Framework 2.0.4.该应用程序部署在herokucleardb数据库中.
用户不断得到这个偶然的错误:
PlayException: Execution exception [[PersistenceException: java.sql.SQLException: Timed out waiting for a free available connection.]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134)
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115)
at akka.actor.Actor$class.apply(Actor.scala:318)
at play.core.ActionInvoker.apply(Invoker.scala:113)
at akka.actor.ActorCell.invoke(ActorCell.scala:626)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: javax.persistence.PersistenceException: java.sql.SQLException: Timed out waiting for a free available connection.
at com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:356)
at com.avaje.ebeaninternal.server.core.DefaultServer.createQueryTransaction(DefaultServer.java:2021)
at com.avaje.ebeaninternal.server.core.OrmQueryRequest.initTransIfRequired(OrmQueryRequest.java:241)
at com.avaje.ebeaninternal.server.core.DefaultServer.findId(DefaultServer.java:1212)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1118)
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:1105)
at play.db.ebean.Model$Finder.byId(Model.java:237)
Run Code Online (Sandbox Code Playgroud)
现在情况越来越糟,有时所有用户每次都会得到相同的错误,直到我在heroku中重新启动应用程序.
有任何调试帮助或提示吗?
我只是练习lamdas java 8.我的问题如下
将一个整数中的所有数字求和,直到小于10(表示剩下一位数)并检查其是否为1
样本输入1
100
Run Code Online (Sandbox Code Playgroud)
样本输出1
1 // true because its one
Run Code Online (Sandbox Code Playgroud)
样本输入2
55
Run Code Online (Sandbox Code Playgroud)
样本输出2
1 ie 5+5 = 10 then 1+0 = 1 so true
Run Code Online (Sandbox Code Playgroud)
我写了一个代码
System.out.println(Arrays.asList( String.valueOf(number).split("") ).stream()
.map(Integer::valueOf)
.mapToInt(i->i)
.sum() == 1);
Run Code Online (Sandbox Code Playgroud)
它适用于输入1即100但不适用于输入2,即55,我清楚地理解,在第二种情况下10是输出,因为迭代不是递归的.
那么如何才能使这个lambdas表达式递归,以便它也可以在第二种情况下工作呢?我可以使用该lambda表达式创建一个方法并每次调用它,直到返回值<10,但我在想是否在lambdas中有任何方法.
谢谢
我试图通过ubuntu中的php脚本向我的gmail id发送邮件,但无法发送.我的代码
<html>
<head><title>Send mail</title></head>
<body >
<?php
$name=$email=$query="";
if($_SERVER["REQUEST_METHOD"]=="POST"){
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$query = test_input($_POST["query"]);
if(mail("abc@gmail.com","Subject",$query,"From: $email\n")){
echo "email send";
}else{
echo "not send";
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<form method="post" action="<?php echo ($_SERVER["PHP_SELF"]);?>">
Name:<input type="text" name="name" required>
Email id:<input type="email" name="email" required>
Query:<textarea name="query" row="5" cols="40" required></textarea>
<input type="submit" value="Submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我配置了我的php.ini
[mail function]
; For Win32 only.
; http://php.net/smtp …Run Code Online (Sandbox Code Playgroud) 我有 2 个实体CallRecords和CallRecordOperators,它们具有一对多的关系,如下所示
public class CallRecords {
@Id
@Column(name = "id", unique = true)
private String id;
@Column(columnDefinition = "varchar(255) default ''")
private String callerNumber = "";
@OneToMany(mappedBy="callrecord")
private List<CallRecordOperators> callRecordOperators = new ArrayList<CallRecordOperators>();
//getter setters
}
public class CallRecordOperators {
@Id
@Column(name = "id", length = 50, unique = true, nullable = false, insertable = false, updatable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@JsonIgnore
@ManyToOne
@JoinColumn(name = "callRecordId")
private CallRecords callrecord; …Run Code Online (Sandbox Code Playgroud) 我在下面有这个 HTML代码.
<table border="1" style="width:100%">
<tr> <th>Col</th></tr>
<tr><td onclick="alert('1');" disabled="disabled"><label>One<br></label></td></tr>
<tr><td onclick="alert('2');" disabled="disabled"><label>Two<br></label></td></tr>
<tr><td onclick="alert('3');" disabled="disabled"><label><br></label></td></tr>
</table>Run Code Online (Sandbox Code Playgroud)
以上代码适用于Chrome和Microsoft Edge意味着它会在所有3个tds中点击td标记内的任何位置时显示警报.
但是在IE10中,IE11仅在td包含一些数据时起作用,就像在上面的代码中第3行不提供警报一样,对于其他tds它仅在我们点击文本时才有效,而不是在点击除文本以外的td内的任何其他区域时.
这段代码是我的大型应用程序的一部分.我只是想知道这是IE中的一个已知错误,如果是,任何人都可以提供该错误的链接.
或者我错过了导致问题的代码.由于它是大型应用程序的一部分,我想添加更少的代码,以便它不会影响其余的应用程序.
任何帮助,将不胜感激
我正在尝试 scala 中的文件搜索程序。
文件检查器.scala
package fileSearcher
import sun.org.mozilla.javascript.internal.ast.Yield
class FilterChecker(filter:String) {
def matches(content: String) = content contains filter
def findMatchedFiles(fileObjects: List[IOObject]) =
for(fileObject <- fileObjects
if(fileObject.isInstanceOf[FileObject])
if(matches(fileObject.name)))
yield fileObject
}
object FilterChecker{
def apply(filter: String)=new FilterChecker(filter)
}
Run Code Online (Sandbox Code Playgroud)
IOObject.scala
package fileSearcher
import java.io.File
trait IOObject {
val file:File
val name= file.getName()
}
case class FileObject(file: File)extends IOObject
case class DirectoryObject(file: File)extends IOObject
Run Code Online (Sandbox Code Playgroud)
文件转换器.scala
package fileSearcher
import java.io.File
object FileConverter {
def convertToIOObject(file: File){
if(file.isDirectory()) DirectoryObject(file)
else FileObject(file)
}
}
Run Code Online (Sandbox Code Playgroud)
匹配器.scala
package …Run Code Online (Sandbox Code Playgroud) 我有这个代码,找到女性艺术家,男性艺术家或乐队的数量 -
import java.util.*;
public class FindGender {
public static void main(String[] args) {
// TODO code application logic here
ArrayList < String > artists = new ArrayList < > ();
int mnum = 0, fnum = 0, bnum = 0;
artists.add("Beyonce (f)");
artists.add("Drake (m)");
artists.add("Madonna (f)");
artists.add("Michael Jackson (m)");
artists.add("Porcupine Tree (b)");
artists.add("Opeth (b)");
artists.add("FallOut Boy (b)");
artists.add("Rick Ross {m}");
artists.add("Chris Brown (m)");
if (artists.contains("(b)")) bnum++;
if (artists.contains("(m)")) mnum++;
if (artists.contains("(f)")) fnum++;
System.out.println("The number of male artists is: " …Run Code Online (Sandbox Code Playgroud) 我试图从部署在GAE上的PHP应用程序发送电子邮件,但无法发送.
我的PHP代码:
<?php
use google\appengine\api\mail\Message;
$name=$email=$query="";
if($_SERVER["REQUEST_METHOD"]=="POST"){
$name = $_POST["name"];
$email = $_POST["email"];
$query = $_POST["query"];
require_once 'google/appengine/api/mail/Message.php';
$mail_options = [
"sender" => $email,
"to" => "abc@gmail.com",
"subject" => "Subject",
"textBody" => $query,
];
try {
$message = new Message($mail_options);
$message->send();
} catch (InvalidArgumentException $e) {
echo "not send";
}?>
Run Code Online (Sandbox Code Playgroud)
我的日志
INFO 2014-07-31 21:40:31,711 mail_stub.py:142] MailService.Send
From: bca@gmail.com
To: abc0@gmail.com
Subject: Subject
Body:
Content-type: text/plain
Data length: 3
INFO 2014-07-31 21:40:31,711 mail_stub.py:305] You are not currently sending out real email. …Run Code Online (Sandbox Code Playgroud) 我有List<User>哪里User是具有可变的一类id,name,date.我只是想创建一个List<List<String>>与它,使得它仅包含从第一list.My代码名称和日期
import java.util.*;
import java.util.stream.*;
public class User
{
int id;
String name;
Date date;
public User(int id,String name,Date date){
this.id=id;
this.name=name;
this.date=date;
}
public static void main(String[] args)
{
User one=new User(1,"a",new Date());
User two=new User(2,"b",new Date());
User three=new User(3,"c",new Date());
List<User> userList=Arrays.asList(one,two,three);
System.out.println(userList);
List<List<String>> stringList = IntStream.range(0,userList.size())
.maptoObj(i -> Array.asList(userList.get(i).name,userList.get(i).date))
.collect(toList);
System.out.print(stringList);
}
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚当我使用collect()它时我怎么能实现它说无法在收集时找到符号.有什么方法可以List<List<String>>包含名称和日期列表List<User>
我也试过了
List<List<String>> stringList = IntStream.range(0,userList.size())
.map(i -> Arrays.asList(userList.get(i).name,userList.get(i).date.toString()))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但它给了我 …