小编Car*_*arí的帖子

邮递员推送通知时出错,但Firebase控制台发送时没有错误

我发送通知到我的Android应用程序,到某个设备.当我从Firebase控制台执行此操作时,我没有得到任何异常但是当我尝试从Postman发布通知时我在Android日志上得到此信息(通知收到完美且应用程序没有停止,它只是一个日志异常/警告).

W/FirebaseMessaging: Error while parsing timestamp in GCM event
    java.lang.NumberFormatException: s == null
        at java.lang.Integer.parseInt(Integer.java:570)
        at java.lang.Integer.valueOf(Integer.java:794)
        at com.google.firebase.messaging.zzd.zzb(Unknown Source:62)
        at com.google.firebase.messaging.zzd.zzi(Unknown Source:2)
        at com.google.firebase.messaging.FirebaseMessagingService.handleIntent(Unknown Source:365)
        at com.google.firebase.iid.zzg.run(Unknown Source:26)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
Run Code Online (Sandbox Code Playgroud)

这个问题是不是在onMessagereceived方法.

我的帖子json只是默认的一个:

{
  "message":{
    "token" : "cBtsRkkSkmY:APA91bGksorrythisisnottherealtokenSn8bavHz8NLxULB1A9CMGrHIyTDU_o7ifHo666pojgur5WVdjH_a_yLV8QQplDL22FPu8çQXyT_TWRYD13mKpTi-N8cs0oVQ9zUXS",
    "notification" : {
      "body" : "Testing",
      "title" : "testiinggg"
      }
   }
 }
Run Code Online (Sandbox Code Playgroud)

确实,没有时间戳.我可以猜测Firebase控制台的功能相同,但带有时间戳.

我的问题与类似,但由于信息不足,没有为他找到解决方案.

先感谢您.

android firebase firebase-cloud-messaging

7
推荐指数
0
解决办法
3203
查看次数

deleteAllInBatch() 和deleteAll() 有什么区别?

我是休眠和春季启动的新手。最近,我被分配了一项任务来创建一个关系查询应用程序。问题是我正在遵循的教程使用的是 JPARepository,而我正在处理的代码中的先前工作是使用 CRUDRepository。

我的问题是,我可以使用 crudRepository deleteAll() 的功能来代替 JPARepository 的方法 deleteAllInBatch() 吗?另外,这两个接口有什么不同?

我在网上没有找到任何有用的文档,因此进行查询。

hibernate jpa spring-boot

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

在循环内添加SQL参数,在循环外执行。(在C#SQL Client中使用参数进行单查询多插入)

因此,要进行多行插入查询,我需要在具有值的循环内将键替换为值。

它通过将值硬编码到查询字符串中来工作,但是我需要使用“ cmd.Parameters.AddValue()cmd.Parameters.AddWithValue()” 来完成此操作,因为我需要防止SQL注入。

所以,我的代码是这样的:

         string query = "insert into dbo.Foo (column1, column2, column3) values ";    
         SqlCommand cmd
            foreach (line in rowsArray) {
                cmd.Parameters.Clear();
                cmd = new SqlCommand(query, cnn); //So, the problem is this override
                query += "(@key1, @key2, @key3), ";

                cmd.Parameters.AddWithValue("@key1", line.value1);
                cmd.Parameters.AddWithValue("@key2", line.value2);
                cmd.Parameters.AddWithValue("@key3", line.value3);
            } 
         query = query.Substring(0, query.Length-2); //Last comma
         cmd.ExecuteNonQuery();
         cnn.Close();
Run Code Online (Sandbox Code Playgroud)

我想ExecuteNonQuery();跳出循环,只插入一个。

有任何想法吗?

我曾考虑过创建一个循环,在该循环中,我用一个标识符添加字符串中的键,然后用相同的ID替换所有的键,以迭代另一个循环,但我认为这样做不是非常有效或很好的做法。

c# sql sql-server sqlclient

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

如何使用 EntityGraph 获取多个列表

我花了太多时间尝试做一些乍一看似乎很简单的事情:

假设我有一个Store具有两种@OneToMany关系的实体:

@Entity
public class Store {

    private String name;

    @OneToMany(mappedBy = "store")
    private List<Foo> foos;

    @OneToMany(mappedBy = "store")
    private List<Bar> bars;

}
Run Code Online (Sandbox Code Playgroud)

我想使用相同的查询获取两个列表。我想使用实体图,因为我需要在执行时决定要获取哪些子项。

@EntityGraph(attributePaths = {"foos", "bars"})
Store findByName(String name);
Run Code Online (Sandbox Code Playgroud)

这导致:

MultipleBagFetchException: cannot simultaneously fetch multiple bags.
Run Code Online (Sandbox Code Playgroud)

我不想使用Set代替List,因为这种方法的目的是避免 N+1 查询问题笛卡尔积问题(实体层次结构比示例大得多),所以 nolazy fetching或改为Listdo Sethelp这个案例。

此外,此处提出的第一个答案不适用于实体图。

有任何想法吗?

java hibernate jpa spring-data spring-boot

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

休眠:同时有两个或多个事务:事务已经处于活动状态

我有一个 REST API,当我几乎同时进行 POST 和 GET 时,我收到此异常:

 SEVERE: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.IllegalStateException: Transaction already active
    at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:52)
    at org.hibernate.internal.AbstractSharedSessionContract.beginTransaction(AbstractSharedSessionContract.java:409)
    at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:355)
    at com.sun.proxy.$Proxy58.beginTransaction(Unknown Source)
    at utils.HibernateSession.createTransaction(HibernateSession.java:15)
    at api.ConversationsREST.getMessages(ConversationsREST.java:128)
Run Code Online (Sandbox Code Playgroud)

它们位于不同的类上,因此没有隐含的全局属性。

失败的那一行是:

HibernateSession hs = new HibernateSession();
hs.createTransaction(); // Crash
Run Code Online (Sandbox Code Playgroud)

Wich 指的是我的类 HibernateSession:

public class HibernateSession {

    public Session session;

    public void createTransaction() {

        session = HibernateUtil.getSessionFactory().getCurrentSession(); //THIS WAS WRONG
 //EDIT:session = HibernateUtil.getSessionFactory().openSession(); //THIS …
Run Code Online (Sandbox Code Playgroud)

java rest hibernate jersey

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

更新到Angular 8 CLI后,抛出“ .getColorDepth不是函数”

我的一个同事将我们的项目升级到8号角。我拉了他的分支,然后奔跑npm install。在他的分支上,一切正常。现在,每次运行任何“ ng ...”命令时,我都会得到相同的错误:

C:\xxx\party-ui\node_modules\@angular\cli\utilities\color.js:15
    process.stdout.getColorDepth() > 1;
                   ^

    TypeError: process.stdout.getColorDepth is not a function
        at Object.<anonymous> (C:\xxx\party-ui\node_modules\@angular\cli\utilities\color.js:15:20)
        at Module._compile (module.js:652:30)
        at Object.Module._extensions..js (module.js:663:10)
        at Module.load (module.js:565:32)
        at tryModuleLoad (module.js:505:12)
        at Function.Module._load (module.js:497:3)
        at Module.require (module.js:596:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (C:\xxx\party-ui\node_modules\@angular\cli\models\analytics.js:18:17)
        at Module._compile (module.js:652:30)
Run Code Online (Sandbox Code Playgroud)

我还尝试更新npm和node(现在具有版本10.16.0和6.9.0)。还删除了node_modules文件夹,然后运行npm install。我能做什么?

node.js typescript angular angular8

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

真的需要优化我的SQL:选择使用NN表的每一行的所有外行

我有一个NN表,举个例子说教师和主题:

有一张Teacher表如下:

    +---------------+-----------------------+
    |    Id         | Name                  |
    +---------------+-----------------------+
    | 1             | John Williams         |
    | 2             | Erika Miller          |
    +---------------+-----------------------+
Run Code Online (Sandbox Code Playgroud)

有一张Subject表如下:

    +---------------+-----------------------+
    |    Id         | Name                  |
    +---------------+-----------------------+
    | 1             | Music                 |
    | 2             | Art                   |
    | 3             | Languages             |
    | 4             | Geography             |
    +---------------+-----------------------+
Run Code Online (Sandbox Code Playgroud)

还有一个TeacherTeachesSubject如下:

    +---------------+-----------------------+
    |  TeacherId    |        SubjectId      |
    +---------------+-----------------------+
    | 1             | 1                     |
    | 1             | 2                     |
    | 1             | 3                     | …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

ASP.NET Core API 中接收标头参数

我正在从 Java Jax-Rs API 迁移到 ASP.NET。我有传递到 API 的自定义标头参数。

在此输入图像描述

在此输入图像描述

我找不到在 ASP.NET 中执行相同操作的方法。

这是我到目前为止所拥有的:

  [HttpPost]
  public String login()
  {
     return "works";       
  }
Run Code Online (Sandbox Code Playgroud)

我搜索了我找到的每个教程,但找不到任何提及这一点的内容。

c# jax-rs http-headers asp.net-core-mvc

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