- 博客(34)
- 资源 (3)
- 收藏
- 关注
原创 GCP pubsub 本地命令和服务端可见性关系
记住:**除非显式连接模拟器,否则gcloud命令默认操作真实GCP资源**。| **本地gcloud命令** | 真实GCP云端环境 | 需要有效gcloud认证 | ✅ 立即可见 || **REST API调用** | 取决于调用的端点地址 | 取决于认证方式 | 根据情况而定 || 命令执行环境 | 创建的资源位置 | 是否需要认证 | 服务端是否可见 || **模拟器命令** | 本地模拟环境 | 不需要认证 | ❌ 不可见 |- 如果显示真实的project_id,则连接的是云端。
2025-05-16 13:13:26
219
原创 GCP pubsub概念解释
**属性**(attributes):键值对元数据(如 `{"priority": "high"}`)4. **发布者(Publisher)与订阅者(Subscriber)**- **数据**(payload):实际内容(最大10MB)- **Pull订阅**:消费者主动拉取(适合服务器)- **主题** = 不同类型的信箱(普通件/挂号件)- 主题的**消费入口**(主题:订阅 = 1:N)- **邮局系统**:把 Pub/Sub 想象成一个邮局。- **消息ID**:系统自动分配的唯一标识。
2025-05-16 13:11:15
421
原创 springboot GCP pubsub
# 6. 消息监听层 (`listener/PubSubMessageListener.java`)## 5. 服务层 (`service/PublisherService.java`)## 3. 配置层 (`config/PubSubConfig.java`)- **Config**:集中管理 Pub/Sub 配置。- **Controller**:处理 HTTP 请求。- **Exception**:全局异常处理。- **Listener**:消息监听处理。- **Service**:业务逻辑处理。
2025-05-16 12:50:53
897
原创 mono map
**不改变 `Mono` 类型**:始终返回 `Mono<T>`,无法直接转换为 `Mono<R>` 以外的类型(如 `Flux`)。| `flatMap`| 异步(嵌套) | ✅ 是 | `Mono<R>`/`Flux`| 调用返回 `Mono` 的服务 |// 输出: Alice。- **同步执行**:转换操作(`Function`)会立即在当前线程执行,**不涉及异步操作**。- **`flatMap`**:用于 **异步** 操作(如调用返回 `Mono` 的服务)。
2025-05-01 06:39:43
709
原创 mono-3
如果是 **`subscribeOn` 或异步客户端(如 `WebClient`)**,任务在指定线程池执行。.flatMap(user -> getOrders(user.getId())) // 等用户查询完成。- **特点**:链式调用是**顺序的**,但每个 `flatMap` 内部可以是异步的(如网络请求)。- **行为**:前一个 `Mono`/`Flux` 完成后,才会触发下一个异步操作。- **行为**:**并行触发**多个 `Mono`/`Flux`,不互相等待。
2025-04-24 06:33:45
405
原创 mono-2
**真正的异步依赖网络/IO**:示例中用 `Thread.sleep` 模拟阻塞,实际项目中应为非阻塞的 HTTP 客户端(如 `WebClient`)或 Reactive 数据库驱动(如 R2DBC)。是的,在上面的示例中,**三个微服务调用(`getUserById`、`getOrdersByUser`、`getCreditByUser`)是通过 `Mono.zip` 并行异步执行的**。- `Mono.zip` 会**同时订阅**所有传入的 `Mono`,触发它们的异步执行(而非顺序等待)。
2025-04-24 06:12:40
290
原创 mono_1
以下是一个 **完整的综合示例**,展示如何使用 `Mono.zip` 实现 **非阻塞并行调用**,并结合 **超时控制、异常处理、多个 `flatMap` 链式操作** 等场景。- `getOrdersByUser` 设置 `timeout(Duration.ofMillis(500))`,超时后通过 `onErrorResume` 返回空列表。// cache() 避免重复订阅。- **超时/降级**:通过 `timeout` + `onErrorResume` 保证系统弹性。
2025-04-24 06:02:24
349
原创 case-1
## **5. Handling Questions (应对提问)**### **4. Demo Transition (过渡到演示)**### **2. Positive Cases (成功场景)**### **3. Negative Cases (失败场景)**### **1. Opening (介绍目的)**### **6. Closing (总结)**
2025-04-08 11:03:30
379
原创 springboot工作原理
5. 外部化配置(Externalized configuration):Spring Boot支持外部化配置,即将应用程序的配置信息从代码中分离出来,以便在不同环境中进行配置。它简化了Spring应用程序的配置和部署过程,提供了一种快速、方便的方式来构建可扩展的、可部署的应用程序。总的来说,Spring Boot通过自动配置、起步依赖、嵌入式容器、Actuator和外部化配置等机制,简化了Spring应用程序的开发和部署过程,提供了一种快速、方便的方式来构建Java应用程序。
2023-12-02 20:53:44
664
原创 application.properties文件中的数据,java读取的方式
3. 使用`@ConfigurationProperties`注解:可以使用`@ConfigurationProperties`注解将配置文件中的值绑定到一个类上。上述代码中,通过`env.getProperty("myapp.config.path")`方法获取`myapp.config.path`配置文件中的值。1. 使用`@Value`注解:可以在类的字段、方法参数或方法返回值上使用`@Value`注解来注入配置文件中的值。
2023-11-30 10:57:04
1289
原创 spring cloud config引入后项目组配置文件加载顺序
3. 如果有其他配置文件,如`application-{profile}.yml`(或`application-{profile}.properties`),它们会根据当前激活的配置文件(profile)进行加载。总结起来,Spring Cloud Config的配置文件加载顺序是:`bootstrap.yml` -> `application.yml` -> `application-{profile}.yml` -> 配置中心的配置。请注意,加载顺序是有优先级的,后面加载的配置会覆盖前面加载的配置。
2023-11-30 10:54:35
1231
原创 巴拉巴拉小魔仙
首先,我相信良好的团队合作是完成工作的关键。我愿意尽自己的努力和大家一起协作完成工作任务,相互支持和鼓励,共同达成目标。最后,我也会尽最大的努力来适应团队的工作文化和氛围。大家好,我叫.*,从事Java开发工作,特别感激之前面试我的各位领导,今天刚进项目,请大家多多指教。希望在今后的工作中,能和大家作为一名新员工,我希望在今后的工作中能够和大家紧密合作,共同进步。总之,我希望能够和大家一起努力,共同创造一个积极向上、和谐有序的工作环境。我会尽快适应 团队的工作方式和氛围,为项目的最终目标做出 贡献。
2023-08-01 18:48:15
169
原创 Mybatis缓存之二级缓存以及示例
Mybatis 的二级缓存是指将查询结果缓存到应用程序的内存中,从而避免在每次查询时都访问数据库,从而提高查询效率。二级缓存是 Mybatis 的一个重要特性,可以大大提高应用程序的性能。Mybatis 的二级缓存是基于命名空间(namespace)级别的,也就是说,每个命名空间都有一个对应的缓存区域,可以独立设置缓存策略和缓存时间等属性
2023-05-30 10:39:08
814
原创 Spring中事务失效的场景和代码示例
事务方法中调用了其他方法:如果在事务方法中调用了其他方法,而被调用的方法没有使用事务注解,则被调用的方法不会被包含在当前事务中,从而导致事务失效。多个事务方法互相调用:如果多个事务方法互相调用,并且使用了不同的事务管理器,那么事务就会失效。在上面的代码中,如果在一个非公共方法上使用事务注解,则事务会失效,因为 Spring 只会对公共方法上的事务注解进行处理。在上面的代码中,如果被调用的方法没有使用事务注解,那么被调用的方法就不会被包含在当前事务中,从而导致事务失效。
2023-05-29 15:39:50
476
1
原创 泛型的使用实例
package com.hana.demo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class TestFan { /** * @param args */ public static void main(String[] args) { Syst
2014-01-15 17:16:26
595
转载 打开注解是对的,关闭是错的使用ThreadLocal实例
package com.hana.demo;import java.util.HashMap;public class TreadLocalTest { static ThreadLocal map0 = new ThreadLocal(){ // @Override // protected HashMap initialValue() { /
2014-01-15 16:51:16
659
原创 测试类中静态对象变量在对此建立对象的时候静态类是否会多次建立
package com.hana;public class TestStatic { public static void main(String[] args) { System.out.println(new St().t); System.out.println(new St().t); }}class St{ public static T t = new T(
2014-01-15 16:37:09
1334
原创 select-c:forEach 数据的默认选中
后台向前台传入所有的下拉列表数据List sysRoleTypeList = sysDictService.findSysDictBySdCode(SDCODE_ROLE_TYPE);modelMap.put("sysRoleTypeList", sysRoleTypeList);获取后台传入的所有下拉列表的数据${sd.sdName}修改操作从后台传入的默
2013-09-16 10:46:12
6050
原创 mybatis中collection的使用,递归查询
findSysRoleFuncObjectTree" resultMap="cascadeLoadSysRoleFunc" parameterType="sysFunctionVO">SELECT CONCAT(#{srId}) AS sr_id,st.* FROM (SELECT * FROM sys_function WHERE sf_id IN (SELECT sf_id FROM
2013-09-16 10:41:37
4851
1
原创 mybatis返回类型string,或者对象,均可用list<string>或者,list<对象>来接收
--------------------------------------eg 1------------------------------------ findSysRoleFunctionById" parameterType="string"resultType="string">select sf_id from sys_role_function where sr_i
2013-09-16 10:14:54
53001
原创 easyui获取树实心节点数据方式
var nodes3 = $('#Tree').tree('getChecked', 'indeterminate'); //获取模糊不清的/*获取树节点数据*/function getChecked(p){var nodes = p.find('form #functionlist').tree('getChecked');var s = '';for(var
2013-09-16 10:09:43
1659
原创 mybatis多对多关联,向关联表插入数据方法
mybatis多对多关联,向关联表插入数据方法:先向主表插入数据后,根据当前插入数据的ID,来向中间表插入数据主要sql: useGeneratedKeys="true" keyProperty="srId">insert intosys_role(sr_name,sr_stats,sr_describe,um_id,sr_create_time,sr_typ
2013-09-16 10:07:31
19263
原创 mybatis实现新添加一条数据,并获取新添加数据的ID
insert intosys_role(sr_name,sr_stats,sr_describe,um_id,sr_create_time,sr_type)values(#{srName},0,#{srDescribe},#{umId},#{srCreateTime},#{srType})通过返回值是获取不到新添加的这条数据ID,可以通过对象来访问到instance.getSrId()Intege
2013-09-16 10:05:05
3043
原创 Mybatis建立环境搭建
Mybatis简单环境搭建一搭建流程比较简单,主要分如下几步1 导入需要的jar包1) Mybatis jar包 (可到官网上下载)2) Mysql连接数据库jar包:如下图所示 2 新建一个项目,添加User类目录为 com.model.User 在mysql中添加wj_user这个表,插入两条数据 如下图:
2013-06-28 15:30:16
792
原创 jquery 轮询图片
JS部分: $(function(){ pictureCycle(); } //首页轮换图片 var n = 0, count; function pictureCycle() { count = $("#flashmf a").length; $("#fla
2013-06-06 17:43:16
2875
原创 jquery 事件 trigger
trigger:在每一个匹配的元素上触发某类事件。其实我们还可以给元素自定义事件,以下同样摘抄的$("p").bind("myEvent", function (event, message1, message2) { alert(message1 + ' ' + message2);});$("p").trigger("myEvent", ["Hello","World
2013-06-06 17:41:15
665
5
原创 对象树到easyui树实现方式
VO中配置list: 1: public class SysFunctionVO implements Serializable { /**孩子节点**/ private List sysFunctionVOList ; ..... 2 :public class EasyUITreeNode impleme
2013-05-28 11:19:13
1346
原创 JQUERY从指定数组移除指定的值操作
var selectedCategoriesArr = new Array();//用户定制品类、数组维护数据向数组添加内容:selectedCategoriesArr.push(id);(1,7,93,4,5,6)从数组中移除指定元素值selectedCategoriesArr.splice($.inArray(5,selectedCategoriesArr),1);//JQ
2013-05-24 14:20:14
6326
原创 动态向div内添加标签内容:
$("#category_1").html("");var id = $(this).attr('id');(jQuery).ajax({type : "POST",url : mainServer + '/userCenter/getThreeLevelData.jspa',dataType : 'json',data:{ 'ciId':id
2013-05-24 10:11:00
2534
原创 jquery实现验证码发送以及验证码的有效时间30分钟实现方式
var InterValObj; //timer变量,控制时间var count = 60; //间隔函数,1秒执行var curCount;//当前剩余秒数var code = ""; //验证码var codeLength = 6;//验证码长度function sendMessage() { curCount = count; //产生验证码for
2013-05-24 09:52:01
3590
原创 jquery动态向div内追加ul和li
需要达到动态的追加ul li节点,外层循环控制ul标签对个数,内层循环控制当前ul标签内li标签对个数 jquery关键代码:$("#button2").click(function(){ $("#div1").empty();//每次点击,请div内容清空,但是不删除当前div节点 for(var i=0 ;i var u = $("#div1"
2013-05-19 00:06:28
20187
原创 java中日期格式之间的转换yyyy-MM-dd HH:mm:ss和毫秒数之间
//把毫秒数转换成为 yyyy-MM-dd HH:mm:ss存库 Date date = new Date(); Long time = date.getTime(); System.out.println(time); Date d = new Date(time); SimpleDateFormat sd
2013-05-17 19:04:25
8764
原创 flex cairngorm和spring,hibernate整合案例
<br />flex cairngorm和spring,hibernate整合案例,完成用户的添加和查询<br />步骤详情:<br />1 建立一个flex的工程,注意是j2ee的。选择输出目录的时候填写WebContent(Eclipse开发)<br />2 添加spring的jar包,写后台的代码,包括service和dao,可以面向接口(抽象)编程。先不做数据库的操作<br /> ,写测试类,看是否可以运行,配置文件是否可以正确加载。<br />3 上面2步骤通过添加hiber
2011-04-02 17:28:00
843
原创 提高电脑启动速度
提高电脑启动速度 一、bios的优化设置 ? 在bios设置的首页我们进入"advanced bios features"选项,将光标移到"frist boot device"选项,按"pageup"和"pagedown"进行选择,默认值为"floppy",这表示启动时系统会先从软驱里读取启动信息,这样做会加长机器的启动时间,减短软驱的寿命。所以我们要选"hdd-0"直接从硬盘启动,这
2009-04-14 19:28:00
434
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人