Preheat oven to 300F. Set rack in middle position. Prepare two 9x5 inch loaf pans by spraying liberally with nonstick baking spray.
To the bowl of a stand mixer with the paddle attachment, beat butter, both sugars and zests on high speed until pale and fluffy, about 3 minutes.
Decrease speed to medium and add eggs one at a time, waiting for each to incorporate, scraping the sides of the bowl between each addition.
Decrease speed to low and add flour, salt, baking powder and soda, and spices. Mix until just combined. Do not overmix.
Measure 1/4 cup of the soaking liquid from the fruit. Reserve the rest.
Still on low, add in soaked fruit, ¼ cup soaking liquid you measured, orange juice, ginger, and pecans until just combined.
Divide batter evenly into prepared pans.
Bake until an inserted toothpick comes out mostly clean with a few moist crumbs attached, about 1 hour 35-45 minutes.
Cool in pan on wire rack for 10 minutes. Remove from pan on wire rack.
Brush the remaining soaking liquid onto both cakes while warm. Cool completely. You can enjoy this cake immediately or later. This cake gets better the longer it sits. You can age the fruit cake by wrapping the loaves in cheesecloth and continually brushing rum onto the cakes and allowing to sit and soak in.