小编use*_*724的帖子

无法使用Javapns/Javaapns SSL握手失败发送推送通知

我有推送通知的问题.我有一个由团队成员创建的p.12证书,我有设备令牌,可以将设备推送到.我正在使用javapns库来执行推送(也尝试了相同结果的javaapns lib)但我一直收到此错误:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.OutputStream.write(OutputStream.java:58)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:402)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:350)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:320)
at javapns.Push.sendPayload(Push.java:177)
at javapns.Push.combined(Push.java:100)
at PushTest.push(PushTest.java:43)
at PushTest.main(PushTest.java:25)
Run Code Online (Sandbox Code Playgroud)

这是我用来测试的代码

try {
    List<PushedNotification> n = Push.combined(text, 20, null, file, "********", false, token);

    for (PushedNotification notification : n) {
        if (notification.isSuccessful())  
            System.out.println("Push notification sent successfully to: " + notification.getDevice().getToken());
        else {
            String invalidToken = notification.getDevice().getToken();

            Exception theProblem = notification.getException();
            theProblem.printStackTrace();

            ResponsePacket theErrorResponse = …
Run Code Online (Sandbox Code Playgroud)

java ssl-certificate apple-push-notifications

23
推荐指数
1
解决办法
2万
查看次数

在servlet的init()中加载属性文件,而不使用web.xml中的context-param标记

我有一个servlet,它读取init()上的.properties文件.我的代码(不是下面的代码)可以工作,如果我在我的web.xml中设置了一个context-parameter,但我读到一个context-parameter是全局可访问的,我不希望这个,因为这个servlet只是一个更大的一块Web应用程序.我只是希望能够使用我试过的init-param标签来做到这一点:

public void init(ServletConfig config) throws ServletException {

    try {
    String fileName = config.getInitParameter("configFile");
    System.out.println(fileName);
    File file = new File(fileName);
    FileInputStream fis = new FileInputStream(file);

    p = new Properties();

    p.load(fis);
} catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

但我一直得到文件未找到异常.我搜索过互联网,但大多数人都使用servlet上下文.如何在不在web.xml中包含context-param标记的情况下加载我的属性文件?

谢谢!

编辑:

java.io.FileNotFoundException: C:\WEB-INF\classes\myapp.properties (The system cannot find the path 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 ipadService.ProxyServlet.init(ProxyServlet.java:53)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at …
Run Code Online (Sandbox Code Playgroud)

java servlets

7
推荐指数
1
解决办法
3万
查看次数

"错误:文件或目录不存在"但它们确实存在,如os.listdir所确认

我正在编写一个程序,它应该读取目录中的许多csv文件,并对每个文件进行一些分析.我有这些功能:

# Function reads in files and saves data into 2 dimensional array
def ReadInFiles(name):
  try:
    data = []
    fname = csv.reader(open(name, 'r'))
    #print 'read in file: ' + str(fname)
    rowCount = 0
    for row in fname:
      if rowCount != 0: # skip headings
        data.append(row)
      rowCount += 1
      #print name + ' ' + str(row) + ' read in successfully \n'                
  except IOError: "Can't read files"


  return data


#Function reads in files in a folder  
def ReadDirectory (dirName):
  try:
    Data …
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
2867
查看次数

从填充的hashmap检索的Arraylist不断返回空的arraylist

我有一个hashmap,我在一个while循环中插入一个arraylist作为值.在迭代期间,如果hashmap已经包含一个键,我想要检索已存储的arraylist,将新数据附加到它并将其放回到hashmap中.

我现在遇到的问题是,当我检查一个hashmap是否包含一个值时,返回的arraylist的大小为0,好像我以前从未输入过任何东西.

final HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
String status = "";
String channel = "";

while (daily.next()) {
    while (avrg.next())
        if (avrg.getString(1).equals(daily.getString(1)) && avrg.getString(2).equals(daily.getString(2))) {
            final Object pstmnt = null;
            final Object pstmnt2 = null;
            final float thresholdValue = calcThreshold(pstmnt, pstmnt2, daily.getString(1));
            channel = daily.getString("client_name");
            if (daily.getFloat(3) > avrg.getFloat(3) + thresholdValue * avrg.getFloat(3)) {
                status = "HIGHER";
            }
            else if (daily.getFloat(3) < avrg.getFloat(3) - thresholdValue * avrg.getFloat(3)) {
                status = "LOWER";
            }
            else {
                status = "Normal"; …
Run Code Online (Sandbox Code Playgroud)

java arraylist hashmap

1
推荐指数
1
解决办法
1399
查看次数